我有一个带有静态单元格的 UITableViewController,有 3 个部分,以及一个带有 2 个按钮的分段控件。我想实现以下行为:
- 当按下按钮 1 时隐藏第 2 部分
- 当按下按钮 2 时隐藏第 3 部分
我找不到解决方案。任何提示都是有用的。谢谢。
我有一个带有静态单元格的 UITableViewController,有 3 个部分,以及一个带有 2 个按钮的分段控件。我想实现以下行为:
我找不到解决方案。任何提示都是有用的。谢谢。
很简单,只需确保设置了 UITableViewDelegate,并且可以使用 heightForRowAtIndexPath:(页眉和页脚类似)通过将单元格的高度设置为 0 来显示/隐藏单元格。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 2) {
if (self.shouldShowSection2) {
return 44.0f;
}else{
return 0.0f;
}
}else if (indexPath.section == 3) {
if (self.shouldShowSection3) {
return 44.0f;
}else{
return 0.0f;
}
}else{
return 44.0f;
}
}
然后只需在您的 IBAction 中定义一些逻辑,以在 tableview 的开始/结束更新之间更改这些 BOOL,表格将显示/隐藏您想要的部分。
- (IBAction)toggleSegment:(UISegmentedControl *)sender
{
[self.tableView beginUpdates];
// change boolean conditions for what to show/hide
[self.tableView endUpdates];
}