Реализация переключения и действия


Реализация переключения и действия

Мы практически закончили наше приложение. Осталось только написать код, выполняющий переключение, и запрограммировать реакцию на постукивание по кнопкам. Добавьте код, приведенный ниже, в файл SwapViewController.m.

Первый метод в нашем новом коде называется willAnimateRotationToInterface Orientation:duration:. Именно этот замещенный метод из родительского класса вызывается, когда начинается поворот, но до его завершения. Действия, которые выполняются в данном методе, анимируются как первая часть анимации всего поворота.

В этом методе определяется ориентация, в которой будет находиться телефон после поворота, и задается свойство представления — альбомное или портретное, — подходящее для новой ориентации. Затем мы вызываем метод CGAffineTransformMakeRotation, являющийся частью библиотеки Core Graphics, чтобы создать преобразование поворота (rotation transformation). Преобразование — это математическое описание изменения размеров, положения или угла поворота объекта. Обычно при повороте устройства система iOS задает значение преобразования автоматически. Однако при переключении в новое представление нам необходимо убедиться, что представление будет правильным, чтобы не запутывать операционную систему. Именно это делает метод willAnimateRotationToInterface Orientation:duration: каждый раз, когда задает свойство преобразования представлений. После поворота представления мы уточняем его рамку, чтобы оно точно вписывалось в окно при выбранной ориентации.

Перейдем к методу buttonPressed:. Он не должен содержать ничего удивительного. Мы определяем, по какой кнопке стукнул пользователь, скрываем ее, а затем скрываем соответствующую кнопку в другом представлении.

Все, что написано в этом классе, должно быть вам знакомо. Новый метод shouldAutorotate ToInterfaceOrientation: возвращает значение YES, чтобы сообщить устройству iPhone, что он поддерживает поворот к любой ориентации, а код, добавленный в метод dealloc, просто очищает память.
Теперь скомпилируйте и выполните приложение.

ЗАМЕЧАНИЕ. Если вы случайно щелкнете на обеих кнопках, то единственный способ вернуть их на экран — выйти из симулятора и заново выполнить проект. Не используйте этот подход в своих собственных приложениях.
  • Дата: 27-11-2014, 09:14

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

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



Отзывы о статье: Реализация переключения и действия

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