Как мне создать анимацию в приложении для iPad?

#iphone #objective-c #ios #xcode #ipad

#iPhone #objective-c #iOS #xcode #iPad

Вопрос:

Я разрабатываю приложение для iPad.

Я хочу создавать красивые анимации, чтобы я мог украсить свое приложение. Например, в представлении есть 4 основные кнопки / изображения. При нажатии на одну из них появится еще несколько кнопок / изображений.

Это похоже на то, что «родительская кнопка» будет разветвляться на несколько «дочерних кнопок».

Как выполняются такие анимации? Есть ли какие-нибудь хорошие ссылки или фрагменты кода, на которые можно ссылаться?

Спасибо.

Ответ №1:

Хорошим аргументом будет демонстрация основной анимации здесь:

https://github.com/neror/CA360

Запустите их в симуляторе iOS и проверьте код, который создает волшебство.

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

http://www.raywenderlich.com/2454/how-to-use-uiview-animation-tutorial

Ответ №2:

Выполните поиск по термину «Core Animation iOS» в вашей любимой поисковой системе. Вы найдете информацию на центральном сайте Apple для разработчиков, в частности в руководстве по анимации Core и кулинарной книге.

Ответ №3:

На самом деле существует 2 основных метода.

Один из них — использовать основную анимацию, если она содержит желаемый путь и анимацию.

Другой способ заключается в использовании игрового цикла анимации, когда приложение периодически вызывает процедуру для перерисовки вида каждый кадр. NSTimer или CADisplayLink могут периодически (скажем, с частотой 24, 30 или 60 Гц) вызывать процедуру, выполняющую setNeedsDisplay, Которая затем вызывает drawRect для просмотра и т. Д. Некоторый другой периодический код может изменять некоторое состояние (перемещение некоторых позиций кнопок X Y и т. Д.) Во время или между каждым кадром, Чтобы обеспечить видимость движения или другого анимационного эффекта при перерисовке вида. Или OpenGL можно использовать для перерисовки некоторого анимированного 3D-мира по ходу движения. Вы даже можете изменять каждый кадр в ответ на ввод пользователя. Это наиболее гибкий способ анимации, позволяющий настраивать анимацию способами, которые невозможны для базовой анимации, но он потребляет больше энергии и может быть настолько интенсивным, что может быть намного медленнее, чем базовая анимация.