NSCollectionView кража фокуса при выборе = ДА

У меня есть NSView, созданный в Интерфейсном Разработчике с двумя элементами управления в нем, NSCollectionView и NSTableView. Когда мое приложение запускается и прикрепляет этот вид к окну, фокус будет правильно установлен на моем виде таблицы и выделен соответствующей строкой. Однако, как только я позвоню

[collectionView setSelectable:YES];

Фокус переместится на мой NSCollectionView и будет удален от таблицы. Единственный способ вернуть фокус на мой вид таблицы - щелкнуть по нему мышью.

Ни одна из следующих строк кода не работает

[tableView becomeFirstResponder];
[[self.view window] makeFirstResponder:tableView];

У кого-нибудь есть идеи? Это произойдет, если я установлю viewview также как selectable в IB.

1 ответ

Хорошо, этот код, кажется, "исправляет" это, но все еще кажется ужасным взломом. Я заметил, что если я установлю его выбираемым по истечении определенного периода времени, он не будет красть фокус, поэтому теперь я делаю

-(void) loadView {
    [super loadView];
    [self performSelector:@selector(responderFix) withObject:nil afterDelay:0];
}
-(void) responderFix {
    [collectionView setSelectable:YES];
}
Другие вопросы по тегам