我有一个 MyCustomView 的子类,它是 NSView 在 .xib 中设计的。
我想将此 View 插入到我的应用程序周围的一些其他 xib 中。我应该怎么做?如果我拖动自定义 View 并将类更改为 MyCustomView,但这不会加载我的 xib 文件。这只能以编程方式完成,还是有办法在界面生成器中执行此操作?
编辑 1:
这是一个非常小的演示项目: http://s000.tinyupload.com/index.php?file_id=09538344018446482999
它包含默认的 MainMenu xib 和我的 CustomView xib。我希望我的 CustomView.xib 显示在添加到我的 MainMenu.xib 的自定义 View 中——使用尽可能少的代码。
最佳答案
要加载您需要在窗口中添加的 View :- 创建继承到 NSViewController 的自定义 View 类
#import <Cocoa/Cocoa.h>
@interface NewViewController : NSViewController
@end
#import "NewViewController.h"
@implementation NewViewController
- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Initialization code here.
}
return self;
}
@end
您的 xib 名称是 yourview.xib
- (void)windowDidLoad {
NSViewController *yourVC = [[NewViewController alloc] initWithNibName:@"NewViewController" bundle:nil];
[[[self window] contentView] addSubview:[yourVC view]];
}
关于objective-c - 界面生成器 : How to load view from nib file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19700325/