У меня есть приложение, в котором я пытаюсь добавить своего рода экскурсию, в которой я провожу пользователя от одной функции к другой.Что я хочу сделать, так это позволить пользователю взаимодействовать с различными элементами интерфейса, и когда они выбирают правильный элемент, тур переходит к следующему шагу.Мне действительно трудно найти способ сделать это.Я пытаюсь подойти к этому двумя способами, но я не могу понять, как этого добиться, и при этом я не могу быть уверен, что будет лучше.Два варианта, над которыми я работал:
Создание подкласса UIView
, который каким-то образом перенесет все пользовательские взаимодействия в представление, которое находится непосредственно за ним, но регистрирует ихпоэтому, когда будет предпринято правильное действие, он может вызвать следующий шаг.
Найти способ добавить наблюдателя к UIResponder
(обычно UIButton
, но иногда UITableViewCell
или другой тип), который сообщит программе о завершении касаний, что позволит программе затем проверить, выполнил ли пользователь правильное задание.
Вариант 1 достаточно прост, еслиэто просто кнопка, но она кажется более сложной, когда это UITableView
или UIPickerView
.
Вариант 2 - это тот, к которому я склоняюсь, если только я смогу найти способ добавить наблюдателя в метод (скорее всего, touchesEnded:with:
) таким же образом, каким они могут быть добавлены в свойства.Таким образом, я мог видеть, когда происходит взаимодействие, и проверять, было ли оно правильным.Конечно, я мог бы на самом деле жестко написать код, переходя к следующему шагу в каждом методе, который должен его запускать (если он удовлетворяет условию участия в экскурсии), но это просто плохая практика.
У кого-нибудь есть предложения?Есть ли «правильный» способ сделать одну из этих вещей или третий вариант, который я должен рассмотреть?