Как отключить навигацию по умолчанию в приложении Ma c Catalyst? - PullRequest
0 голосов
/ 10 апреля 2020

Я заметил, что могу проходить по строкам в UITableView в приложении Ma c Catalyst, нажимая клавиши со стрелками вверх и вниз на клавиатуре Ma c. Однако это мешает существующей функциональности в одном из моих контроллеров представления. Есть ли способ отключить это?

Я не могу найти ссылку на эту функцию в документации UITableView . Руководство по интерфейсу для человека для Ma c Catalyst упоминает "автоматизацию c поддержки основных функций Ma c, таких как ... навигация с помощью клавиатуры", так что я предполагаю, что это намеренная функция, но Я не могу найти дальнейшую ссылку на него или документацию для него.

Я не видел других примеров навигации с помощью клавиатуры "automati c" в моем приложении, но в идеале Apple опубликовала бы sh полный список, чтобы мы могли знать, как работать со встроенной функциональностью или, если необходимо, отключить ее.

1 Ответ

0 голосов
/ 16 апреля 2020

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

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    #if TARGET_OS_MACCATALYST
    [tableView performSelector:@selector(resignFirstResponder) withObject:nil afterDelay:0.1];
    #endif
}

Это исправило это! Теперь клавиатурная навигация по умолчанию отключается, как только включается, и не влияет на пользовательскую навигацию клавиатуры моего приложения.

(она не работала без задержки.)

...