【发布时间】:2013-07-18 17:34:30
【问题描述】:
我有一个UITableViewController,它有 5 个不同的部分,每个部分都包含一个单独的单元格。在第 1 部分中,我有一个 UISegmentedControl,默认情况下提供两个选项,选择第 1 部分,因此其余部分(其他 4 个)与第 1 部分相对应。但是,我遇到的问题是:能够切换到另一个UITableView,它具有与段2相对应的其他部分和单元格,当然在UISegmentedControl中选择了段2
我正在为这个项目使用故事板。
我知道如何实现这一点的问题已经被问了一千次,如果我使用常规视图控制器,我知道如何做到这一点,我是使用 UITableViewController 的新手,这真的很给力我很难过。
我尝试过的事情:
No.1: 我尝试将UITableViewController 全部删除,并用普通的ViewController 替换UITableView 到主视图。问题在于 xcode 给了我一个错误,因为静态单元格需要 UITableViewController 才能工作,(不幸的是,我正在使用静态单元格)。
第2号:我试图用 UISegmentedControl的条件隐藏单元,以仅显示适当的选择的适当单元,但这无效,因为我无法使用在顶部添加我的其他部分和单元格(就像我通常使用常规 UIViewController 所做的那样。
这是我用来尝试方法#2的代码:
- (IBAction)segmentedControl:(id)sender {
UISegmentedControl *segmentedControl = (UISegmentedControl *) sender;
NSInteger selectedSegment = segmentedControl.selectedSegmentIndex;
if (selectedSegment == 0)
{
upick= 0;
self.lengthCell.hidden=NO;
self.widthCell.hidden=NO;
self.depthCell.hidden=NO;
self.flowCell.hidden=YES;
}
else if (selectedSegment == 1)
{
upick =1;
self.lengthCell.hidden=YES;
self.widthCell.hidden=YES;
self.depthCell.hidden=YES;
self.flowCell.hidden=NO;
}
}
No.3: 在网上进行了无数小时的研究,但似乎无法找到我正在寻找的确切结果,大多数都显示了如何使用 UIViewController 和步骤来做到这一点在这种特殊情况下有所不同。
我非常感谢从这里获得的一些建议和总体方向,因为我被困住了。多谢你们!
【问题讨论】:
-
为什么不只为每个案例设置自定义单元格,并在选择分段控件的每个部分时
reloadData? -
你是如何设置 UISegmentedControl 的?直接在故事板中还是以编程方式?
标签: ios objective-c uitableview uisegmentedcontrol