0

Есть ли способ предотвратить отказ пользователя от модального контроллера?Предотвратить отклонение модального WKInterfaceController

Я думаю, что довольно часто нужно «блокировать» основной интерфейс приложения «Наблюдение», предлагая пользователю открыть iPhone или выполнить какое-либо действие там.

Мое настоящее решение состоит в том, чтобы снова представить контроллер, когда он уволен, но его неуклюжие.

ответ

1

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

Поскольку ваш код не задан, должно ли оно произойти, но только знает, что это происходит, не существует способа перехватить или отменить это действие. Кратко об этом говорит WKInterfaceController documentation.

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

Что вы можете сделать?

Пока вы don't know when the Cancel title is tapped, есть a hack which "hides" the Cancel title.

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

Что рекомендует HIG?

Обход Human Interface Guideline, вероятно, приведет к ухудшению качества работы пользователя.

Верхний левый угол модального листа зарезервирован для кнопки «Закрыть», что отклоняет интерфейс.

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

  • нет очевидного способа отменить или

  • модальный представляет себя снова после того, как неоднократно отменяется.

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

+0

То, что я нахожу очень раздражающим, заключается в том, что Apple демонстрирует свои собственные рекомендации в нескольких встроенных приложениях: * В приложении 'Alarm'' Add Alarm' подталкивает к «полноэкранному» интерфейсу с ' Cancel' в нижней левой части вместо строки заголовка (которая полностью скрыта). * Приложение 'Messages' делает что-то похожее в меню« Новое сообщение », которое открывает модальный код, в котором строка заголовка не может быть нажата, а вместо этого кнопка« Отмена »находится внизу слева. Но, насколько я могу судить, для моего приложения не существует такого же поведения. – Ryan

+0

В моем случае приложение записывает данные с датчиков, и абсолютно важно знать, когда пользователь нажимает кнопку «Назад», так как приложение должно остановить запись. В противном случае, если пользователь несколько раз переводится на контроллер взад и вперед, может случиться, что выделено несколько рекордеров, которые не могут быть остановлены. Это может привести к тому, что приложение будет рисовать всю память. –

Смежные вопросы