单个笔尖的多个视图
Posted
技术标签:
【中文标题】单个笔尖的多个视图【英文标题】:Multiple views with on single nib 【发布时间】:2016-05-25 14:29:33 【问题描述】:我有一个显示食谱列表的集合视图。有多种类型的食谱以略微不同的方式呈现(不同的文本颜色等),但它们在视觉上非常相似。
我的想法:
在笔尖内有一个配方 UICollectionViewCell。 有一个通用的 RecipeCollectionViewCell 包含所有 IBOutlets。然后,每个配方类型将是通用 RecipeCollectionViewCell 的子类,并实现其自己的 configureWithRecipe() 方法。这样一来,父类保持干净,配置被下推到子类。
我现在的问题是:有没有办法为多个 UICollectionViewCell 子类配置同一个 nib?
registerNib:forIdentifier: 不起作用,因为我无法指定要使用的类。 registerClass: forCellWithReuseIdentifier: 不起作用,因为我不能提供它应该从笔尖加载。 :/
【问题讨论】:
您可以使用 registerClass:forCellWithReuseIdentifier:在您的单元格类 initWithFrame 中,只需加载 nib 并将其视图添加为子视图。 【参考方案1】:是的,您可以在所有单元格类中添加子视图。 所以整体情况就像 你有一个名为 ABCView 的视图,它有它的 nib 并且所有的 iboutlets 都将被连接起来,这样所有的配置都将在这个类中进行。 现在在所有单元类中,您可以加载此 ABCView 并将其添加为子视图。要在 ABCView 和 Cell 类之间进行通信,您可以使用委托方法。
【讨论】:
以上是关于单个笔尖的多个视图的主要内容,如果未能解决你的问题,请参考以下文章