tvOS: O foco não está se movendo corretamente
Eu tenho um UIView com dois botões nele. NoMyView
classe eu tenho este código:
-(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];
}
A idéia básica é que o usuário possa mover o foco para o botão de edição, que pode fazer com que o botão Adicionar apareça.
O problema começou porque toda vez que eu tocava no botão de edição, o foco mudava para a exibição da tabela. Na verdade, eu gostaria que fosse para o botão Adicionar. Também quero que, ao editá-lo desativado, o botão de edição mantenha o foco. mas novamente está mudando para a visualização da tabela.
Então, eu tentei o código acima. Isso funciona, pois o foco pode passar para a exibição e para o botão. Mas, uma vez lá, não consigo que ele se mova para outro lugar.
Tudo o que li diz apenas substituipreferredFocusEnvironments
mas até agora não consegui fazer isso funcionar. O foco continua indo para um botão e depois se recusando a se mover para qualquer outro lugar.
Alguma ideia?