2013-08-30 2 views
1

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

[collectionView setSelectable:YES]; 

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

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

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

Кто-нибудь есть какие-нибудь идеи? Это происходит, если я устанавливаю viewview для выбора в IB.

ответ

2

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

-(void) loadView { 
    [super loadView]; 
    [self performSelector:@selector(responderFix) withObject:nil afterDelay:0]; 
} 
-(void) responderFix { 
    [collectionView setSelectable:YES]; 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^