iOS:使用 IB 为以编程方式创建的 UITableView 创建自定义单元格
Posted
技术标签:
【中文标题】iOS:使用 IB 为以编程方式创建的 UITableView 创建自定义单元格【英文标题】:iOS: Use IB to create custom cell for programmatically created UITableView 【发布时间】:2012-02-08 16:09:06 【问题描述】:我有一个视图控制器,我在其中以编程方式添加 UITableView。但是,我想使用 IB 来创建我的自定义 UITableViewCell,以便在我以编程方式创建 UITableView 时使用。如果我在 IB 的控制器中没有 UITableView,因为我以编程方式创建它,我该怎么做?
我正在使用带有情节提要的 Xcode 4.2.1。
【问题讨论】:
see here for a tutorial 这里有一个更好的 XCode 4 altinkonline.nl/tutorials/xcode/uitableview/uitableviewcell @Javy 谢谢,有没有办法在情节提要中做到这一点,所以我不必创建 .xib? 我记得 WWDC 视频中关于能够在 ios 5 中直接在表格中设置它们的内容,但出于兼容性原因,我被困在 4.3 中。抱歉,我无法提供更多帮助。 【参考方案1】:只需像往常一样以编程方式创建 UITableView,并在 cellForRowAtIndexPath 方法中使用
id cell = [dataTable dequeueReusableCellWithIdentifier:itemType];
if(!cell)
NSArray *topLevelObject = [[NSBundle mainBundle] loadNibNamed:itemType owner:nil options:nil];
cell = [topLevelObject objectAtIndex:0];
其中 itemType 是带有您的 xib 文件名称的字符串。
【讨论】:
xib文件是什么意思?我需要在我的故事板中创建一个 UITableViewController 吗? xib 文件是您在 Interface Builder 中创建自定义 UITableViewCell 时获得的文件。 我没有使用 xib。我上面说过我正在使用故事板。【参考方案2】:您可以将 UITableView 添加为子视图并实现 tableView 的方法和 tutorial 将帮助您了解如何将自定义 UITablecell 添加到 UITableView。
【讨论】:
以上是关于iOS:使用 IB 为以编程方式创建的 UITableView 创建自定义单元格的主要内容,如果未能解决你的问题,请参考以下文章
我们可以将具有自动布局的 XIB 加载为以编程方式创建的没有自动布局的视图的子视图,并使用父视图调整子视图的大小吗?