我尝试在这个(链接)教程之后创建@IBDesignable UIView子类.第一个自定义视图很好.但是当我尝试制作另一个时,我有错误.首先,我得到了failed to update auto layout status: the agent crashed
和Failed to render instance of ...
.不知何故,我开始能够生成并运行带有这些错误的项目,但后来我得到了新的错误 - EXC_BAD_ACCESS ...
在线let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView
.这是整个方法:
func loadViewFromNib() -> UIView { let bundle = NSBundle(forClass: self.dynamicType) let nib = UINib(nibName: "advancedCellView", bundle: bundle) let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView return view }
用第一个自定义UIView是没问题的.我使用相同的代码..
有任何想法吗?谢谢
loadViewFromNib()
您发布的方法看起来很好,您正确地获取了包并将nib名称指定为字符串文字,因此它应该找到nib.正如其他人评论的那样,你的笔尖设置可能有问题.以下是一些要检查的事项:
您应该AdvancedCellView
在Identity Inspector中设置为文件的所有者自定义类.
检查模块是否正确 - 通常只是想要它是空白的.
不应设置View的Custom Class,只需将其保留为默认值(UIView).如果你的名字比侧栏中的"查看"更具描述性,那可能就错了.
检查笔尖中是否只有一个顶级对象.当View树折叠时,侧边栏应该如下所示,没有任何其他条目.
注意这个答案与OP链接的教程有关,而不是设置笔尖的唯一正确方法.