Представление ViewController не отображается в NSBox с какао Mac - PullRequest
0 голосов
/ 22 марта 2012

Я довольно новичок в разработке какао для Mac.В настоящее время я борюсь с тем, чтобы представление viewController отображалось как contentView NSBox.Соответствующий код выглядит следующим образом:

// 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;
}

В настоящее время в окне просмотра содержимого ничего не отображается.Что я должен сделать, чтобы получить представление viewControllers в поле?

1 Ответ

1 голос
/ 24 марта 2012

Проблема в том, что init слишком рано для добавления / изменения представлений. Реализуйте метод awakeFromNib в AccountsViewController и установите представление содержимого там. awakeFromNib будет вызываться в вашем классе после загрузки пера, и все готово для манипулирования.

...