我试图学习OSX开发,并且在.xib文件中创建了一个视图,并且试图初始化,然后将此视图添加为子视图。我已经搜索了如何做到这一点,所有的解决方案都适用于iOS,并使用诸如MyViewClass* myViewObject = [[[NSBundle mainBundle] loadNibNamed:@"MyViewClassNib" owner:self options:nil] objectAtIndex:0]
之类的调用,但看起来这不适用于OSX开发。任何人对如何将xib初始化为视图有任何想法?谢谢将xib视图初始化为另一个NSView的子视图
1
A
回答
3
您可以使用loadNibNamed:owner:topLevelObjects:
方法。这里有一个例子:
NSArray *views = nil;
[[NSBundle mainBundle] loadNibNamed:@"TestView1" owner:nil topLevelObjects:&views];
[self.view addSubview:[views lastObject]];
上面的代码会将XIB的顶层内容加载到数组中。根据文档:
从指定的文件名和所有者的这个包中加载一个笔尖。 成功后,该方法返回YES,并且可选的out参数 topLevelObjects用nib的顶级对象填充。 对象遵循标准的可可内存管理规则,并且 是自动发布的。对顶级对象的IBOutlet属性应该为 强(保留)以证明所有权并防止重新分配。 或者,可以持有对顶层 对象数组的强烈参考。
相关问题
- 1. 使用xib初始化视图
- 2. knockout.js初始化视图模型从另一个视图模型
- 3. NSView:从超级景观拖到子视图到另一个NSView
- 4. 将NSWindow显示为NSView的子视图
- 5. 自定义UITableViewCell子视图初始化?
- 6. 初始化子视图和异常
- 7. 初始化视图模型
- 8. 初始化视图模型
- 9. 使视图(初始化initWithNibName)加载其所有子视图
- 10. 旋转后重新初始化UIView视图和子视图
- 11. NSView或CALayer的子视图?
- 12. 在另一个类中初始化视图
- 13. 骨干视图收盘初始化视图(zombi视图问题)
- 14. 将子视图添加到另一个子视图ios
- 15. Swift:将子视图添加到另一个子视图
- 16. 将xib的视图添加到故事板的另一个视图中
- 17. 加载XIB到一个子视图
- 18. 将视图从一个视图移动到另一个视图
- 19. 显示NSViewController的视图为NSView的(NSScrollView)子视图
- 20. 如何将视图控制器的视图连接到另一个xib文件?
- 21. 向NSView添加子视图
- 22. NSView drawRect干扰子视图?
- 23. 加载从另一个XIB(iPhone)的视图控制器的XIB
- 24. XIB支持子类化视图
- 25. Xib引用两个xib作为视图
- 26. 在另一个子视图顶部检测一个子视图
- 27. 从另一个子视图
- 28. 作为另一个视图的子视图添加视图的位置
- 29. 为什么从xib初始化VC视图的框架不是MainScreen的大小?
- 30. 添加另一个视图控制器的视图作为子视图