cocoa – 如何让自定义视图控制器将其视图加载到另一个笔尖的占位符中?

cocoa – 如何让自定义视图控制器将其视图加载到另一个笔尖的占位符中?,第1张

概述因此,使用xib / nib创建自定义NSViewController子类. 然后在app的主nib中,从对象库添加一个NSViewController对象,将该类设置为自定义视图控制器类. 在自定义视图控制器的应用程序委托中创建IBOutlet. 将NSView对象添加到窗口. 在窗口中将视图控制器的视图设置为NSView. 当我建立&运行时,视图是主笔尖中的通用视图,而不是视图控制器的笔尖中的 因此,使用xib / nib创建自定义NSVIEwController子类.
然后在app的主nib中,从对象库添加一个NSVIEwController对象,将该类设置为自定义视图控制器类.
在自定义视图控制器的应用程序委托中创建IBOutlet.

将NSVIEw对象添加到窗口.
在窗口中将视图控制器的视图设置为NSVIEw.

当我建立&运行时,视图是主笔尖中的通用视图,而不是视图控制器的笔尖中的视图…

还有什么需要让这个过程按照我的想法运作?
我认为这应该从自定义视图控制器的笔尖填充视图(和任何子视图).

我知道如何在代码中执行此 *** 作,但它确实看起来像锅炉板. (特别是添加了自动布局约束.)

请告诉我,我错过了一些愚蠢明显的东西.

解决方法 当您将NSVIEwController的视图出口连接到空的通用容器视图时,它将在运行时用空视图替换从NIB加载的实际视图.

不幸的是,没有办法完全通过使用Interface Builder和outlet来做你所要求的.最简单的替代方法:

将NSVIEwController对象添加到主XIB文件并在“属性”检查器中设置“Nib名称”和“Nib包”,但不要将视图出口设置为空容器视图.

将属性添加到应用程序委托(或XIB中公开的其他控制器类)以向视图控制器和容器视图创建IBOutlet.例:

@property (nonatomic,strong) IBOutlet NSVIEwController *vIEwController; // vIEw controller in XIB@property (nonatomic,weak) IBOutlet NSVIEw *containerVIEw;

将XIB中的这些插座连接到视图控制器和容器视图.现在,在运行时,将视图控制器的视图添加为容器视图的子视图:

NSVIEw *realVIEw = self.vIEwController.vIEw;realVIEw.frame = self.containerVIEw.bounds;// Also configure autoresizing behavIoUr for realVIEw using either autoresizing masks // or layout constraints so that realVIEw resizes with its parent container[self.containerVIEw addSubvIEw:realVIEw];
总结

以上是内存溢出为你收集整理的cocoa – 如何让自定义视图控制器将其视图加载到另一个笔尖的占位符中?全部内容,希望文章能够帮你解决cocoa – 如何让自定义视图控制器将其视图加载到另一个笔尖的占位符中?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1004215.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存