在故事板中,我创建了一个UIViewController,并在同一个故事板中添加了两个UIView。然后添加了UISegmentedControl以启用这些UIView之间的切换。
我用来在UIView:
之间切换的方法-(IBAction)segmentValueChaged:(id)sender
{
if(self.segment.selectedSegmentIndex==0)
{
[self.coinageView removeFromSuperview];
[self.view addSubview:nominalsView];
[self populateNominals:self.subCountryID];
}
else
{
[self.nominalsView removeFromSuperview];
[self.view addSubview:coinageView];
}
}
在UIView上添加UITableView的方法:
-(void)populateNominals:(int)subCountryID
{
UITableView *nominalsTableView=[[UITableView alloc]initWithFrame:CGRectMake(0, 0, 320, 372) style:UITableViewStylePlain];
//nominalsTableView.dataSource = self;
//nominalsTableView.delegate = self;
[self.nominalsView addSubview:nominalsTableView];
}
这种方法很好用,我在切换片段时会弹出一个表格。
我的问题是,我在哪里可以为每个片段(UIView)自定义每个tableView?问题是我需要两个非常不同的表(不同的设计,cellForRowAtIndexPath和不同的导航,而didSelectRowAtIndexPath)。
提前谢谢。
答案 0 :(得分:0)
如果你有“两个非常不同的表”,那么将每个tableview的dataSource和delegate设置为另一个对象。 含义为每个表创建一个类/对象,该表将用作表的dataSource和delegate。通常情况下,这些都设置为“自我”,但没有什么可以说它们必须是那样。
如果你懒惰并且不关心漂亮的可重用代码,你可以将if / else语句放在所有tableView委托和dataSource调用中,并比较传入的tableView变量以查看它是什么表。但这有点难看,容易搞砸。特别是如果它增长到超过2种不同的表格。