gpt4 book ai didi

macos - ViewController 的 View 在 cocoa Mac 上未显示在 NSBox 中

转载 作者:行者123 更新时间:2023-12-03 17:58:45 24 4
gpt4 key购买 nike

我对 Mac 开发的 cocoa 还很陌生。我目前正在努力让 viewController 的 View 显示为 NSBox 的 contentView。相关代码如下:

// AccountsViewController.h. ManagingViewController is a custom subclass of NSViewController
// as of Cocoa Programming for Mac.
@interface AccountsViewController : ManagingViewController
{
LoginViewController *loginViewController;
}

@property (strong) IBOutlet NSBox *box;

// Implementation

@implementation AccountsViewController
@synthesize box;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Initialization code here.

// Should display the view in the contentView(!?!)
loginViewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
box.contentView = loginViewController.view;
}

return self;
}

目前,框的 contentView 中没有显示任何内容。我应该怎么做才能将 viewControllers View 放入框中?

最佳答案

问题是 init 添加/更改 View 还为时过早。实现awakeFromNib AccountsViewController 上的方法并在那里设置内容 View 。加载 nib 后,awakeFromNib 将在您的类上调用,并且一切都准备好进行操作。

关于macos - ViewController 的 View 在 cocoa Mac 上未显示在 NSBox 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9823853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com