在显示之前从 nib 实体获取尺寸

Posted

技术标签:

【中文标题】在显示之前从 nib 实体获取尺寸【英文标题】:Getting dimensions from nib entities before they are displayed 【发布时间】:2014-05-07 19:49:43 【问题描述】:

我有一个 nib 文件,我在其中创建了一个 NSView

这个视图有两种状态。如果它是“关闭”,那么只有顶部的一些项目是可见的。如果它是“开”,那么整个视图都是可见的(披露三角形的东西)。

现在,我目前对显示 rect 进行了硬编码(使用 static const)。但是,我希望能够更换笔尖,而不必去调整任何幻数。

足够简单。我只是获取了一些 nib 元素的 frame 属性,而 Bob 是你的叔叔。

我需要在显示视图之前获取这些尺寸。它已实例化,但在显示之前将 CGRectZero 作为所有内容的框架。

是否有一种“正确”的方法可以从已加载(但未显示)的 nib 中提取 nib 项目的代码中的尺寸?

【问题讨论】:

你看过awakeFromNib吗? 明天我得再搞点这个了。我正在使用自动布局,它看起来有点像 awakeFromNib 没有应用 AL,因为我得到了一些非常奇怪的尺寸。 成功了,谢谢!随意发布一个解决方案,所以我可以给你一个漂亮的绿色复选标记! 【参考方案1】:

你需要查看awakeFromNib方法,该方法是在nib加载后调用的,这样你就可以在视图显示之前对其进行配置。

【讨论】:

以上是关于在显示之前从 nib 实体获取尺寸的主要内容,如果未能解决你的问题,请参考以下文章

如何获取从 nib ios 加载的自定义视图的实际大小

从 json 获取容器尺寸并在 css 样式标签中显示值

访问,从单个 nib 获取对多个视图的引用

Python:从 URL 获取图像尺寸

如何在 MAC OSX 上获取 NIB 文件的资源

从多个 Listview 行中获取每个 Spinner 的值?