objective-c - 界面生成器 : How to load view from nib file

标签 objective-c cocoa nsview

我有一个 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/

相关文章:

cocoa - 图层支持的 NSView 同级是否允许重叠?

ios - 在 UIImagePickerController 中强制横向

iphone - PresentModalViewController之后如何访问parentViewController?

ios - GCDASyncSocket SSL 不连接

iPhone-SDK : Remove uneccessary white spaces from big paragraph string?

macos - 如何在 Cocoa 中的 AVPlayer 视频上绘制内容?

objective-c - NSBlock 对象是如何创建的?

iphone - 连续显示多个 CALayer 60 秒?

xcode - NSViewController-关闭窗口-Swift-Storyboard

objective-c - 如何让 NSView 不裁剪它的边界区域?