2012-03-22 10 views
0

私はMacの開発のためのココアにはかなり新しいです。私は現在viewControllerのビューをNSBoxのcontentViewとして表示することに苦労しています。関連するコードは次のようになります。ViewControllerのビューはココアMacで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; 
} 

現在、ボックスのcontentViewには何も表示されません。 viewControllersビューをボックスに表示するにはどうすればよいですか?

答えて

1

問題はinitがビューを追加/変更するには早すぎるということです。 AccountsViewControllerにawakeFromNibメソッドを実装し、そこにコンテンツビューを設定します。ペン先がロードされ、すべてが操作可能な状態になると、awakeFromNibが呼び出されます。

+0

ありがとうございました。 – Anders

関連する問題