【问题标题】:Getting values out of a NIB with initWithCoder: for subclasses of UIView使用 initWithCoder 从 NIB 中获取值:用于 UIView 的子类
【发布时间】:2011-04-06 19:26:53
【问题描述】:

我创建了UIView 的子类,将UIView 添加到笔尖并将类名更改为我的类。

现在,我需要笔尖视图的原始大小和位置。查看 .xib 文件会发现密钥 NSFrame 中的所需信息:

<object class="IBUIView" id="79599448">
  <reference key="NSNextResponder" ref="972514174"/>
  <int key="NSvFlags">292</int>
  <string key="NSFrame">{{76, 62}, {224, 44}}</string>
  <reference key="NSSuperview" ref="972514174"/>
  <reference key="NSNextKeyView" ref="621711566"/>  
  <reference key="IBUIBackgroundColor" ref="1064304267"/>
  <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>

如何在initWithCoder: 中提取此密钥?

【问题讨论】:

  • 不确定我是否遵循您的问题,但如果您尝试获取 UIViews 框架(其位置和大小)... self.frame 将起作用。

标签: iphone objective-c ios4


【解决方案1】:

我希望我理解了你的问题,但是一旦初始化了 XIB,你就可以使用 UIView 来获取位置和大小

NSRect originalFrame = myView.frame;

只要您将此代码放在将在 XIB 初始化后立即运行的地方,这应该就是您要查找的内容。

【讨论】:

  • 不幸的是,我将 UIPickerView 子类化为创建一个水平视图。为了正确旋转/变换,我需要在 UIPickerView 更改其高度之前指定原始坐标
猜你喜欢
  • 2016-03-13
  • 1970-01-01
  • 2013-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-22
  • 2018-12-20
  • 1970-01-01
相关资源
最近更新 更多