iOS 5,故事板:为每个UIView自定义以编程方式创build的UITableView

在故事板中,我创build了一个UIViewController,并将更多的两个UIViews添加到同一个故事板。 然后添加UISegmentedControl来启用这些UIViews之间的切换。

在这里输入图像说明

我用来在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]; } 

这种方法工作正常,我得到一个表切换段时popup。

我的问题是,我可以在哪里定制每个段(UIView)的每个tableView? 问题是我需要两个相当不同的表(不同的devise,cellForRowAtIndexPath和不同的导航,而didSelectRowAtIndexPath)。

先谢谢你。

如果你有“两个完全不同的表”,那么将每个tableview的dataSource和delegate设置为一个不同的对象。 意思是为每个表格创build一个类/对象,这个表格将作为表​​格的dataSource和委托。 通常这些都是“自我”,但没有什么可说的。

如果你懒惰,不关心漂亮的可重用代码,你可以把所有的tableView委托和数据源调用中的if / else语句,并比较传递的tableViewvariables,看看它是什么表。 但是,这有点丑陋,容易搞砸。 特别是如果它增长到超过2种不同的表格。