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

从nib实例化视图会引发错误

如何解决《从nib实例化视图会引发错误》经验,为你挑选了1个好方法。

我尝试在这个(链接)教程之后创建@IBDesignable UIView子类.第一个自定义视图很好.但是当我尝试制作另一个时,我有错误.首先,我得到了failed to update auto layout status: the agent crashedFailed 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是没问题的.我使用相同的代码..

在此输入图像描述

有任何想法吗?谢谢



1> Josh Heald..:

loadViewFromNib()您发布的方法看起来很好,您正确地获取了包并将nib名称指定为字符串文字,因此它应该找到nib.正如其他人评论的那样,你的笔尖设置可能有问题.以下是一些要检查的事项:

    您应该AdvancedCellView在Identity Inspector中设置为文件的所有者自定义类.

    检查模块是否正确 - 通常只是想要它是空白的.

    不应设置View的Custom Class,只需将其保留为默认值(UIView).如果你的名字比侧栏中的"查看"更具描述性,那可能就错了.

    检查笔尖中是否只有一个顶级对象.当View树折叠时,侧边栏应该如下所示,没有任何其他条目.

Nib层次结构只有一个顶级视图

注意这个答案与OP链接的教程有关,而不是设置笔尖的唯一正确方法.

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