didSelectRowAtIndexPath в расширении пользовательского интерфейса Intents не вызывается

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

Цель "Расширение пользовательского интерфейса Intents" содержит раскадровку с ViewController, содержащим UITableView.

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

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

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

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

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

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

1 ответ

Решение

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

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

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

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

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

Другие вопросы по тегам