使用Interface Builder为UITableViews(Using Interface B

2019-07-03 23:30发布

我在iPhone开发学习过程中非常早。 我试图让我的头周围的各个部分。 现在我刚刚采取的基本NavigationController模板,我试图创建与一对夫妇的文本字段的简单分组表视图。 我似乎无法做的是让Interface Builder来让我一个UITableViewCell放到一个UITableView,这样我可以将文本字段,然后添加到细胞。 这甚至可能(这似乎是它应该被给予这一事实的UITableViewCell是一个可拖动控制)?

如果不是,是否意味着所有的是代码,我需要只写我自己?

Answer 1:

您可以创建Interface Builder中的单元格,但你必须使它成为一个顶级对象,而不是表视图的孩子。 的cellForRowAtIndexPath:函数,那么您可以在视图控制器的tableView返回该小区。

确保给小区的标识符在Interface Builder,然后使用具有dequeueReusableCellWithIdentifier相同标识符:(见示例代码如何工作-这个想法是,细胞得到再利用-操作系统将只分配尽可能多的细胞适合在屏幕上一次。聪明的方法来节省内存。)



Answer 2:

小心引导到头部的方法。 你会泄漏,如果你不正确地处理您IBOutlets 。 我会尽量解释给我最大的能力,而无需缴纳码(NDA)。 如果你打算使用IB来创建你的细胞,使细胞UITableViewCell它自己的XIB文件。 设置文件的所有者为您UIViewController子类(或UITableController )。 调用IBOutlet类似UITableViewCell *cellFactory 。 在UITableViewDataSource方法tableView:cellForRowAtIndexPath:执行以下伪码;

  1. 尝试使用标识符您设置在IB出列单元格
  2. 如果成功的话,你做了。 只需使用电池
  3. 否则,你需要创建一个新的细胞。 使用[NSBundle mainBundle] loadNibNamed:owner:options:方法与正确的XIB文件在那里。 这将填补一个新鲜细胞的cellFactory伊娃。 这里谈到棘手的部分。
  4. 设置cell = cellFactory然后松开cellFactory并将其设为零,以确保你不小心再次使用它。 您现在可以安全地使用电池正常


Answer 3:

不幸的是,它并没有真正工作的方式 - 在tableview中的细胞是通过在运行时委托生成。 它被证明是非常简单的代码,虽然。 退房的实现代码如下示例代码,这是很容易。



Answer 4:

这是在使用了一个很好的教程UI建设者的UITableView的



文章来源: Using Interface Builder for UITableViews