【问题标题】:Setting NSView default property value based on initial bounds根据初始边界设置 NSView 默认属性值
【发布时间】:2011-11-11 02:15:47
【问题描述】:

我需要设置一个从 Nib 加载的 NSView 的属性,该 Nib 使用其初始边界计算。 它的边界在内部仍然为空 - (void)awakeFromNib,那么我可以访问其边界的视图生命周期中的第一个点是什么?

【问题讨论】:

    标签: objective-c nsview nib bounds


    【解决方案1】:

    设置在-viewDidMoveToWindow:

    【讨论】:

      【解决方案2】:

      确实,Apple documentation 明确表示:

      重要提示:由于无法保证从归档中实例化对象的顺序,因此您的初始化方法不应向层次结构中的其他对象发送消息。可以从 awakeFromNib 中安全地向其他对象发送消息——此时可以确保所有对象都未归档并已初始化(当然,不一定要唤醒)。

      在 iOS 上,您可以使用 viewDidLoad 方法,但在 Mac 上似乎不一定可用。

      我相信你会找到你的答案in the stackoverflow post(这是一个 Mac 开发者解决方案,不是 iOS,但它似乎是你正在寻找的)。

      【讨论】:

        猜你喜欢
        • 2018-10-02
        • 2013-01-05
        • 1970-01-01
        • 2010-12-12
        • 2015-04-08
        • 1970-01-01
        • 2020-05-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多