当前位置:  开发笔记 > IOS > 正文

使用Interface Builder for UITableViews

如何解决《使用InterfaceBuilderforUITableViews》经验,为你挑选了2个好方法。

我在iPhone开发学习过程中很早.我正试图绕过各种各样的东西.现在我刚刚采用了基本的NavigationController模板,我正在尝试使用几个文本字段创建一个简单的分组表视图.我似乎无法做的是让Interface Builder允许我将UITableViewCell放入UITableView,以便我可以向Cell添加一个文本字段.这甚至是可能的(似乎它应该被赋予UITableViewCell是一个可拖动控件的事实)?

如果没有,这是否意味着所有这些都是我需要自己编写的代码?



1> Chris Lundie..:

您可以使用Interface Builder创建单元格,但必须使其成为顶级对象,而不是表视图的子级.然后,您可以在视图控制器的tableView:cellForRowAtIndexPath:函数中返回此单元格.

确保在Interface Builder中为单元格提供标识符,然后使用与dequeueReusableCellWithIdentifier相同的标识符:(请参阅示例代码了解其工作原理 - 想法是单元格重新使用 - 操作系统将只分配尽可能多的单元格一次适合屏幕.巧妙地节省内存.)



2> user19087..:

小心Boot To The Head的方法.如果你没有妥善处理你的问题,你会泄漏IBOutlets.我将尝试在不发布代码(NDA)的情况下尽我所能解释这一点.如果您打算使用IB来创建单元格,请创建UITableViewCell它自己的Xib文件.将文件所有者设置为您的UIViewController子类(或UITableController).打电话给IBOutletUITableViewCell *cellFactory.在该UITableViewDataSource方法中tableView:cellForRowAtIndexPath:执行以下伪代码;

    尝试使用您在IB中设置的标识符将单元格出列

    如果成功,你就完成了.只需使用细胞

    否则,您需要创建一个新单元格.[NSBundle mainBundle] loadNibNamed:owner:options:在那里使用适当的xib文件的方法.这将用一个新细胞填充cellFactory ivar.这是棘手的部分.

    设置cell = cellFactory然后释放cellFactory并将其设置为nil以确保您不会意外地再次使用它.您现在可以正常使用您的手机

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有