2012-04-22 2 views
1

У меня есть UIPageViewController, который отображает изображения. Я установил возможность отправить желаемое изображение, которое пользователь просматривает в настоящее время. Для этого, если пользователь забирает один раз в центральную область экрана, появляется панель вкладок с элементом кнопки панели под названием «Почта». И когда эта кнопка нажата, изображение будет прикреплено к почтовому композитору. Но у меня здесь небольшая проблема: когда кнопка бара находится на левом краю, когда я нажимаю на него, происходит завиток страницы, и я не могу получить композитор почты - точнее, я не могу получить нажатой кнопку. Как я могу предотвратить зависание страницы при нажатии этой кнопки?IOS - предотвращение зависания страницы в PageViewController

ответ

2

Существует несколько способов преодоления этой проблемы. Второе решение проще реализовать.

Первый из них - доступ к распознающим признакам, определенным для контроллера просмотра страницы (из свойства «gestureRecognizers», который возвращает массив распознавателей жестов), поиск жестов типа «tap type», а затем назначение им делегата на ваш контроллер. Этот делегат будет реализовывать метод

gestureRecognizer:shouldReceiveTouch:
и будет проверять, произошло ли крана в позиции панели табуляции и в этом случае вернет НЕТ, поэтому жест не будет запущен. Ваш делегат вернет YES, если вам по-прежнему нужен кран, но он находится вне области панели вкладок.

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

Я думаю, что мой ответ пришел слишком поздно с вашего запроса, поэтому, если вы нашли лучшее решение, отправьте его!

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