2015-10-09 2 views
0

Я в настоящее время открыто окно, которое было открыто через:Невозможно сосредоточиться на NSTextFields из окна модального

// FirstWindowController 
[self showWindow:self]; 
[[self window] makeKeyAndOrderFront:self]; 
[NSApp runModalForWindow:[self window]]; 

И по нажатию кнопки я хотел бы, чтобы скрыть FirstWindowController через:

// FirstWindowController 
[self.window orderOut:self]; 

а потом показать мое второе окно:

// SecondWindowController 
[self showWindow:self]; 
[[self window] makeKeyAndOrderFront:self]; 
[NSApp runModalForWindow:[self window]]; 

Первое окно правильно исчезает, и появляется второе окно. Но я не могу использовать NSTextFields во входном файле. Но я могу нажать кнопку «Отмена», чтобы скрыть SecondWindowController и вернуть фокус обратно в FirstWindowController.

Почему я не могу нажать любой элемент NSTextField?

+0

Можете ли вы приложить образец проекта с помощью XIB. Я посмотрю на это. –

ответ

1

У меня была та же проблема. Он работал, когда в окне была строка заголовка, а в противном случае - нет. Кажется, что окно должно иметь заголовок, чтобы стать ключевым.

Обходной этого заключается в том, чтобы сделать подкласс NSWindow и переопределить -canBecomeKeyWindow:

  • (BOOL) canBecomeKeyWindow { возврата ДА; }
Смежные вопросы