Под Quartz вы, вероятно, подразумеваете Core Animation. Quartz - это просто API рисования Mac / iPhone 2-D, где Core Animation обрабатывает анимацию видов и слоев.
Очень сложно использовать OpenGL для выполнения пользовательских анимаций на представлениях, но Core Animation предназначена для этой цели. Я рекомендовал людям, что если они думают о том, чтобы делать 2D-анимацию, даже в играх, они должны сначала посмотреть на Core Animation и перейти на OpenGL ES только в том случае, если производительность Core Animation неприемлема. Core Animation позволяет вам многое делать с помощью небольшого кода,и теперь есть много отличных ссылок на эту тему (например, Маркус Зарра и новая книга Мэтта Лонга ).
Возможно, вы захотите обратиться к некоторым из этих других вопросов для получения дополнительной платы:
Вы действительно можете анимировать виды, даже не заходя в Quartz. Вы можете многое сделать с UIKit. Документация Apple рекомендует:
В общем, вы должны использовать фреймворк самого высокого уровня, который соответствует требованиям вашего приложения. Используйте низкоуровневые платформы только тогда, когда вам нужен более точный контроль или более мощные возможности.
Если вы хотите анимировать свои представления, начните с Core Animation. Он уже может многое для вас сделать. Если после попытки вы не можете получить желаемый эффект с помощью только CoreAnimation, используйте его вместе с Quartz. Если это все еще не соответствует вашим потребностям, тогда исследуйте только OpenGL.
Если вы хотите анимировать движение видов по экрану, то основная анимация - это то, что вам нужно.
Если вы хотите запускать пользовательскую анимацию внутри представления, вам следует использовать OpenGLES для лучшей производительности.
Вы можете сделать и то, и другое одновременно.