Иногда происходят перерывы, такие как телефонный звонок, и нарушают регулярное поведение приложения в iPhone или iPad.Как поймать cancallation UIScrollView или других?
Например, я создал один экземпляр UIScrollView и реализовал методы делегирования UIScrollView: scrollViewWillBeginDragging и scrollViewDidEndDragging (и scrollViewDidEndDecelerating).
Метод scrollViewWillBeginDragging дезактивировал все пользовательские кнопки в моем приложении. Затем scrollViewDidEndDragging и scrollViewDidEndDecelerating методы активировали эти пользовательские кнопки. То есть, пока пользователь прокручивается, все пользовательские кнопки некоторое время деактивируются.
Проблема заключалась в том, что в то время как пользователь начал тянуть и просто держал экземпляр UIScrollView, если я взял скриншот, нажав кнопку домой и кнопку питания, то любой из scrollViewDidEndDragging и scrollViewDidEndDecelerating не вызвал . Таким образом, приложение стало беспорядочным вверх.
В моем UIViewController реализован метод UIApplicationWillResignActiveNotification, но он не получил вызов после снятия скриншота.
Как я могу поймать любое прерывание, которое нарушает регулярный поток событий?
Иногда прикасаться к ним и прикасаться от руки не вызывали из-за прерывания.
спасибо.
Как насчет внедрения viewWillAppear или viewDidAppear и тестирования, если они вызываются после снятия скриншота? Затем в этих методах, если (theDragged == TRUE) вызывает метод scrollViewDidEndDragging. – adam
viewDidScroll метод также вызывается даже в перерывах? вероятно, нет, и у вас есть альтернативный подход к вашей проблеме. – nacho4d
Я новичок в вещах, поэтому не знаю, почему вы отключили бы кнопку, когда пользователь использовал другое представление? Впечатление, которое у меня есть из разных чтений, заключается в том, что единственный раз, когда вы хотите отключить кнопку, - это когда она не может фактически выполнять свою функцию, потому что отсутствует какая-либо бит данных, т. Е. Нет выбора или поля, которое не заполнено, и т. Д. , –