TVOS: фокус не движется правильно
У меня есть UIView с двумя кнопками на нем. вMyView
класс у меня есть этот код:
-(BOOL) canBecomeFocused {
return YES;
}
-(NSArray<id<UIFocusEnvironment>> *)preferredFocusEnvironments {
return @[_editButton, _addButton];
}
-(IBAction) editTapped:(id) sender {
BOOL editing = !tableViewController.editing;
[_editButton setTitle:editing ? @"Done" : @"Edit" forState:UIControlStateNormal];
_addButton.hidden = !editing;
[tableViewController setEditing:editing animated:YES];
}
Основная идея заключается в том, что пользователь может переместить фокус на кнопку редактирования, после чего может появиться кнопка «Добавить».
Проблема началась потому, что каждый раз, когда я нажимал кнопку редактирования, фокус переключался на представление таблицы. Мне бы очень хотелось, чтобы он перешел на кнопку Добавить. Я также хочу, чтобы при редактировании он был деактивирован, кнопка редактирования сохраняла фокус. но опять же он смещается вниз к представлению таблицы.
Поэтому я попробовал приведенный выше код. Это работает в том, что фокус может перейти к виду и на кнопку. Но как только он там, я не могу заставить его двигаться куда-то еще.
Все, что я прочитал, говорит просто переопределитьpreferredFocusEnvironments
но до сих пор я не смог заставить это работать. Фокус продолжает переходить к кнопке, затем отказывается перемещаться куда-либо еще.
Есть идеи?