【问题标题】:How to pass references to init method of object in a nib?如何在 nib 中传递对对象的 init 方法的引用?
【发布时间】:2011-01-13 19:35:26
【问题描述】:

我有一个 UIView 子类,它目前完全以编程方式组装自己。它有一个自定义的 initWithFrame:bundle: 初始化器,这是必要的,因为它使用传入的包来加载图像资源。

我想让这个视图成为一个更大的 nib 文件中的子视图,但是当 nib 加载代码到达它而不是我的自定义初始化程序时,将调用 initWithCoder。有什么方法可以将这个视图放在一个 nib 中并且仍然进行我的自定义初始化?

【问题讨论】:

    标签: iphone uiview


    【解决方案1】:

    是的,如果你的包是提前知道的,你也可以覆盖initWithCoder:(阅读:你不需要它作为参数传入)。否则,不行。

    【讨论】:

    • 不幸的是,它没有提前知道,所以我想我坚持使用程序化方法。谢谢。
    【解决方案2】:

    如果您可以等到awakeFromNib,您可以在那里进行初始化。但是,您仍然存在无法将捆绑包传递给方法的问题。由于awakeFromNib 在所有出口和操作的初始化和设置之后被调用,对你来说可能为时已晚。或许围绕笔尖加载系统重新设计会更好?

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-12
    • 2012-05-20
    • 2022-10-12
    • 1970-01-01
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    相关资源
    最近更新 更多