【发布时间】:2011-09-27 11:36:08
【问题描述】:
【问题讨论】:
标签: iphone objective-c cocoa-touch uitableview ios4
【问题讨论】:
标签: iphone objective-c cocoa-touch uitableview ios4
查看这个不错的教程: Table View Animations and Gestures
演示如何使用动画更新来打开和关闭表格视图的各个部分以供查看,其中每个部分代表一个剧本,每一行都包含该剧本的引文。它还使用手势识别器来响应用户输入: * UITapGestureRecognizer 允许点击部分标题以展开部分; * A UIPinchGestureRecognizer 允许动态更改表格视图行的高度;和 * 一个 UILongPressGestureRecognizer 允许按住表格视图单元格以启动报价电子邮件。
【讨论】:
我遇到了类似的功能,构建它的粗略算法将是:
实现 uitableviewdelgate 和 uitableviewdatasource 协议
创建一个全局变量expandSectionIndex = -1;
= -1 表示全部折叠。
= 0 表示扩展的SectionIndex。
//the following protocol definitions will take care of which section is to be expanded.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if(expandedSectionIndex == section)
return [self.dataArray[section] count];
else
return 0;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
if(self.dataArray)
return [self.dataArray count];
}
在-tableView:viewForHeaderInSection:
中定义自定义标题视图将所有按钮与选择器相关联 - (void)expand:(id) sender;
- (void)expand:(id) sender
{
expandedSectionIndex = [sender tag];
[self.tableView reload];
}
【讨论】: