2014-01-09 6 views
2

Я пытаюсь показать класс NSWindowController как модальный лист в представлении в приложении mac.
проблема заключается в том, что модальный вариант по умолчанию происходит от сползания вниз.Проблема при отображении окна как модальная

SettingWindowController *obj=[[SettingWindowController alloc]  initWithWindowNibName:@"SettingWindowController"]; 
    [NSApp beginSheet:obj.window 
    modalForWindow:[self.view window] 
    modalDelegate: self 
    didEndSelector: @selector(didEndSheet:returnCode:contextInfo:) 
     contextInfo: nil]; 

Когда я выполняю над кодом, он просто открывает контроллер второго окна вне представления.

Как я могу получить поведение по умолчанию, которое вид приходит сверху вниз, двигая.

+2

Видимый при запуске»была действительно моя проблема тоже. –

+1

ли' obj.window' ноль случайно? – Jay

ответ

1
-(IBAction)showModel:(id)sender { 
    obj=[[SettingWindowController alloc] initWithWindowNibName:@"SettingWindowController"]; obj.delegate=self; [NSApp beginSheet:obj.window modalForWindow:[self.view window] 
    modalDelegate: self didEndSelector: @selector(didEndSheet:returnCode:contextInfo:) 
     contextInfo: nil]; } 



- (void)didEndSheet:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo 
    { 
[obj.window orderOut:self]; 
    } 
-(void)showModelEnd 
{ 
[NSApp endSheet:obj.window]; 

} 
0
-(IBAction)showModel:(id)sender 
{ 
    obj=[[SettingWindowController alloc] initWithWindowNibName:@"SettingWindowController"]; 
obj.delegate=self; 
[NSApp beginSheet:obj.window 
    modalForWindow:[self.view window] 
    modalDelegate: self 
    didEndSelector: @selector(didEndSheet:returnCode:contextInfo:) 
     contextInfo: nil]; 
    } 
- (void)didEndSheet:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo 
    { 
[obj.window orderOut:self]; 
} 
-(void)showModelEnd 
{ 
[NSApp endSheet:obj.window]; 

} 
Смежные вопросы