didSelectRowAtIndexPath в расширении пользовательского интерфейса Intents не вызывается - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть 3 цели в моем приложении: основная, расширение Intents и расширение UI Intents.

Цель «Intents UI Extension» содержит раскадровку с ViewController, содержащим UITableView.

Когда я использую ярлык голоса, я вижу результаты на UITableView.

- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

Вызывается идеально и отображает мою ячейку, но не имеет значения, какую ячейку выбрать, метод не вызывается.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

После этого приложение открывается, как и ожидалось, с NSUserActivity (как и должно быть).

Любые идеи о том, как получить правильно выбранную ячейку?

1 Ответ

0 голосов
/ 04 февраля 2019

Это может быть полезно для кого-то с такой же проблемой.

В Apple docs говорится:

Однако ваши контроллеры представления не получают сенсорные события или любые другие события, пока онинаходятся на экране, и вы не можете добавить к ним распознаватели жестов.Поэтому никогда не создавайте интерфейс с элементами управления или представлениями, которые требуют взаимодействия с пользователем.

https://developer.apple.com/documentation/sirikit/creating_an_intents_ui_extension/configuring_the_view_controller_for_your_custom_interface

Другими словами, вы можете использовать табличное представление, но все ячейки будут отвечатьточно так же ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...