Как показать представление таким образом на Cocoa Desktop? - PullRequest
0 голосов
/ 03 августа 2011

Я делаю приложение и мне было интересно, как вы можете показать вид, подобный этому:

dropdownwindow

Ответы [ 2 ]

1 голос
/ 03 августа 2011

Это можно назвать листом. Это руководство должно рассказать вам, как это сделать.

Вы в основном делаете NSWindow, который хотите использовать в качестве листа, затем, когда вы хотите показать его, позвоните:

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

myCustomSheet - это, очевидно, ваш лист, а window - это окно, в котором вы хотите его видеть. Установите self в качестве делегата и внедрите didEndSheet:returnCode:contextInfo::

- (void)didEndSheet:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo
{
    [sheet orderOut:self];
}

Подключите кнопку «Закрыть» на вашем листе к IBAction, который закрывает лист.

- (IBAction)closeMyCustomSheet: (id)sender
{
    [NSApp endSheet:myCustomSheet];
}

Эти листы даже не нужно складывать! XD

0 голосов
/ 03 августа 2011

Это так называемый модальный диалог. Вы можете создать его, перетащив (или загрузив из кода) отдельный NSPanel или NSWindow и отобразив его, используя один из runModal... методов.

...