在UITableView外显示细胞
问题描述:
我有问题,这里询问UITableViewCell outside of UITableView但除了'这不是一个好主意',没有正确的答案。在UITableView外显示细胞
我想在tableView外部加载单元格的contentView(示例情况 - 当用户单击单元格时,他将导航到新表格视图,其中该单元格用作headerView的一部分)。
在主题提出的解决方案,我提供的链接是:
我所做的是从笔尖加载的细胞,设置它,然后加入 单元格的内容查看我的新推视图。这实现了 大部分相同的效果。
我试过,当我尝试调用内细胞(例如按钮),我收到坠毁对象为nil
,任何物体通过MyUITableViewCell()
,MyUITableViewCell(style:, reuseIdentifier: nil)
装入电池,但每次所以这意味着小区不装从笔尖。
我不能通过MyUITableViewCell(nib: nib, bundle: nil)
来初始化单元格,因为它没有这样的初始化程序。
那么如何在我的任何其他视图中加载单元格的内容?我怎样才能'设置'?
答
要直接从笔尖直接加载单元格而不使用表格视图,则需要从主包中加载它。
的Objective-C:
CustomClass *cell = (CustomClass *)[[[NSBundle mainBundle] loadNibNamed:@"nibName" owner:self options:nil] firstObject]
斯威夫特:
let cell = NSBundle.mainBundle().loadNibNamed("nibName", owner: self, options: nil).first as! CustomClass
一旦加载它,你仍然需要做您的设置,并设置单元格的框架,并把它添加到上海华。然后,您可以像使用其他视图一样使用此视图。
init方法不起作用的原因是因为视图从未获取从nib初始化的任何IBOutlets,所以您的单元的所有单元属性都为零。