2012-04-02 4 views
0

私はカスタムnibファイルからロードしているシートを作成しようとしていて、独自のウィンドウコントローラーを持っています。ボタンを押す時に私のアプリのデリゲートでは、私はココアシートがランダムな場所に現れます

- (IBAction)loginLogout:(id)sender { 
    if (![self isLoggedIn]) { 
     // need to login 
     LoginManager *manager = [[LoginManager alloc] initWithWindowNibName:@"LoginSheet"]; 
     [manager presentLoginWithWindow:self.window]; 
    } 
} 

を呼び出し、ウィンドウコントローラ(LoginManagerクラス)で、私はこの

- (void)presentLoginWithWindow:(NSWindow *)window { 
    if (!self.window) { 
     [NSBundle loadNibNamed:@"LoginSheet" owner:self]; 
    } 

    [NSApp beginSheet:self.window modalForWindow:window modalDelegate:self didEndSelector:@selector(didEndSheet:returnCode:contextInfo:) contextInfo:nil]; 
} 

を持っているしかし、私はこれで終わります。

enter image description here

+0

シートの「ランダムな」位置は、ペン先で指定された位置に直接対応すると思います。 @ omzの答えはあなたの世話をする必要があります。 – trudyscousin

答えて

6

おそらくあなたは、Interface Builderで確認シートウィンドウの「起動時に目に見える」オプションを左?

+0

うわー、素晴らしい。どのような簡単な修正! –