NSTextView не будет обновляться, если я не нажму на него, и он не будет фокусироваться.Есть идеи? - PullRequest
0 голосов
/ 16 апреля 2011

В эту секунду у меня нет времени, чтобы добавить пример кода (завтра я отредактирую свой вопрос и добавлю немного), но в основном получается то, что у меня есть окно.Обычно он работает нормально, но если я использую

 [myWindow setStyleMask:NSBorderlessWindowMask]

, чтобы сделать его без полей, NSTextView, который он содержит, перестанет получать фокус даже при нажатии на него: кольцо никогда не появится, курсор не изменится иполоса прокрутки останется серой.

Что-то еще, что случается, когда я делаю это без границ, - то, что это не будет обновляться!У меня в основном это

 [lyricsView setString:someString];

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

Все это прекращается, если я удаляю строку, установив для styleMask значение Без полей.Есть идеи?Предложения?Комментарии?Приветствия?

Спасибо!Kevin

1 Ответ

1 голос
/ 16 апреля 2011

Из документации NSWindow:

Реализация NSWindow возвращает YES, если у окна есть строка заголовка или строка изменения размера, или NO в противном случае.

Итак, создайте подкласс для своего окна и добавьте эту строку

   -(BOOL)canBecomeKeyWindow
   {
        return YES;
   }
...