Обработка неактивного состояния


Обработка неактивного состояния

Самая простая смена состояний, которая может произойти в приложении, состоит в переходе из активного в неактивное состояние, а затем обратно в активное. Напомним, что именно это и происходит, когда по ходу выполнения приложения iPhone получает сообщение SMS, которое выводится на экран для уведомления пользователя. В этом разделе мы сначала доработаем рассматривавшееся ранее приложение State Lab, чтобы оно наглядно показывало происходящее в том случае, если проигнорировать данную смену состояний, а затем покажем, как исправить создавшееся положение.


В данном случае нам нужно добавить объект типа Label в отображаемое представление и заставить его двигаться средствами Core Animation, которые позволяют выполнять изящную анимацию объектов в iOS. С этой целью прежде всего введите объект типа UILabel в качестве переменной экземпляра и соответствующее свойство в заголовочный файл State LabViewController.h, выделенное ниже полужирным шрифтом.


Приведенный выше код требует некоторых пояснений. В классе UI View определяется метод animateWithDuration:animations:completion:, который и организует всю анимацию метки. Любые оживляемые атрибуты, используемые в блоке анимации, не оказывают непосредственного влияния на ее получателя. Напротив, подсистема Core Animation организует плавный переход оживляемого атрибута от его текущего значения к новому указываемому значению. Это так называемая неявная анимация, являющаяся главной особенностью каркаса Core Animation. Подобные функциональные возможности существуют в подсистеме Core Animation уже давно, но блочный подход к организации анимации считается новшеством в системе iOS 4. В последнем блоке завершения мы указываем, что именно должно произойти по завершении анимации.


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


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


  • Дата: 6-01-2015, 17:11

Предыдущие статьи сайта:

Понравилась статья? Ставь лайки, рассказывай друзьям!



Отзывы о статье: Обработка неактивного состояния

Технологии, секреты и фишки Apple: Iphone, iPad, iPod