我会尽力使其简短。
我编写了一个自定义类,它使用几个 IBOutlet 属性扩展 UIView,并且它有一个与之关联的 XIB,这些 IBOutlet 链接到该 XIB。
然后我想学习该类,将其嵌入到其他 XIB(例如,表格单元格)中,然后让它工作。
似乎当我在新 XIB 中嵌入该自定义类时,它无法识别与其关联的原始 XIB,因此它要求我将 IBOutlet 重置为新 XIB 上的接口元素。这太蹩脚了。
有谁理解我想要做什么并有一个好的方法?
以下是我如何成功完成这项工作:
在界面生成器中
打开外笔尖并执行以下操作:
- 添加 UIView 来定义您希望内部笔尖显示的空间。
- 从库中添加一个 UIViewController 对象,将其 Nib Name 属性设置为内部 nib 文件的名称(不带扩展名)。
- 在外部视图控制器中为这两个项目创建 IBOutlet 并将它们连接起来。 (我将它们称为内部视图 and 内部视图控制器.)
- 不要将内部视图控制器中定义的任何 IBOutlet 连接到外部 nib 文件中的任何内容,只需将它们保持未连接即可。
In Xcode
在你的外部视图控制器中viewDidLoad方法,添加这两行:
[self.innerView addSubview:self.innerViewController.view];
self.innerViewController.view.frame = CGRectMake(0, 0, self.innerView.frame.size.width, self.innerView.frame.size.height);
如果您的外部笔尖是自定义 UITableViewCell,请将这些行放入您的从笔尖唤醒方法代替。
构建并运行!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)