Interface Builder:如何从nib文件加载视图

dhr*_*hrm 4 cocoa objective-c nsview

我有一个在.xib中设计的NSView的MyCustomView子类.

我想将这个视图插入到我的其他一些xib的应用程序中.我该怎么做?如果我拖动自定义视图并将类更改为MyCustomView,但不加载我的xib文件.这只能以编程方式完成,还是有办法在界面构建器中执行此操作?

EDIT1:

这是一个非常小的演示项目:http: //s000.tinyupload.com/index.php?file_id = 09538344018446482999

它包含默认的MainMenu xib和我的CustomView xib.我希望我的CustomView.xib显示在添加到MainMenu.xib的自定义视图中- 使用尽可能少的代码.

Hus*_*bir 6

要加载视图,需要在窗口中添加: - 创建继承到NSViewController的自定义视图类

#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
Run Code Online (Sandbox Code Playgroud)

你的xib名字是 yourview.xib

- (void)windowDidLoad {
    NSViewController *yourVC = [[NewViewController alloc] initWithNibName:@"NewViewController" bundle:nil];
    [[[self window] contentView] addSubview:[yourVC view]];
}
Run Code Online (Sandbox Code Playgroud)