然后在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 – 如何让自定义视图控制器将其视图加载到另一个笔尖的占位符中?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)