iPhone iPad можно ли программно полностью отключить взаимодействие с экраном и жесты?

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

Можно ли программно «заблокировать iPhone» с включенным экраном на vanilla iOS 7, чтобы только кнопка «Домой» выходила из приложения?


person Alex Stone    schedule 25.12.2013    source источник
comment
Это проблема с кошками в наши дни, они проводят все свое время, играя в Angry Birds и бессмысленно болтая со своими друзьями. Забудьте об этом, купите кошке книгу и постарайтесь провести с ней некоторое время.   -  person Scary Wombat    schedule 25.12.2013


Ответы (2)


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

Выберите «Настройки» > «Основные» > «Универсальный доступ». Включите Гид-доступ и установите пароль. Как только он будет включен, откройте приложение и трижды щелкните кнопку «Домой». Ваша кошка не сможет выйти из приложения, даже нажав кнопку «Домой».

person murat    schedule 25.12.2013
comment
Да, это может полностью отключить экран, что является лучшим вариантом. Теперь я могу превратить запасные айфоны в игрушки для кошек :) - person Alex Stone; 25.12.2013

Для игнорирования взаимодействий вы можете использовать следующее:

[[UIApplication sharedApplication] beginIgnoringInteractionEvents];

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

и для включения взаимодействия снова используйте:

[[UIApplication sharedApplication] endIgnoringInteractionEvents];

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

person Kapil Choubisa    schedule 25.12.2013