【发布时间】:2011-07-01 07:31:41
【问题描述】:
我需要在一个 XIB 文件中有两个表视图,有什么办法吗?
【问题讨论】:
-
如果您愿意,可以在一个 xib 中拥有 150 个表视图。只需继续在 Interface Builder 中添加它们,它就可以正常工作。您必须更具体地回答您的问题:您想在一个 xib 中使用两个表视图做什么?
标签: ios iphone xcode uitableview xib
我需要在一个 XIB 文件中有两个表视图,有什么办法吗?
【问题讨论】:
标签: ios iphone xcode uitableview xib
是的,这是可能的。您只需要检查表视图名称或标签以区分数据源和委托方法中的表视图。例如,对于 numberofRowsInSection 数据源方法,您可以这样做。
- (NSInteger)tableView:(UITableView *)tableview numberOfRowsInSection:(NSInteger)section {
if(tableview==firstTableview)
{
return 4;
}
else {
return 6;
}
}
所以你只需要像这样检查每个数据源和委托方法。希望对您有所帮助。
【讨论】:
另一种更简洁的方法是将两个不同的 UITableViewController 添加到 XIB 并将其设置为不同的类。
您的 XIB 应如下所示。您无需将表视图数据源和委托连接到文件的所有者,而是将其连接到他们自己的控制器。
这样,您的代码将干净且易于维护。稍后如果您想将该表移动到不同的视图,这非常简单,只需更改 IB 即可。
【讨论】:
简单的去库选择tableView并放入xib并设置一个tag=1 然后在 xib 上的 drob 上获取其他表 set tag=2
您可以通过标签或它们的 ivar 名称来区分;
所以在表的数据源方法和委托中设置适当的 if else 条件。您也可以在特定情况下隐藏任何一个。
意味着使用你的大脑和逻辑。
【讨论】:
我已经创建了两个表并将两个表委托和数据源映射到 .xib 文件中的文件所有者在这个阶段我得到了错误。我通过以下方式解决了它: 在头文件(IBOUTLEt)中添加两个表视图用于识别表 对于第一个表映射数据源和通过 .xib 文件进行委托 对于第二张表,我在 .m 文件中进行了描述。 它运行良好.....
【讨论】: