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];
}