Если вариант 2 достаточно эффективен для ваших нужд, я бы придерживался этого - это такая же простая система, как вы получите на iPhone, и отлично подходит для очень простой графики. Связанная опция, которая может принести вам немного скорости, использует CALayers для реализации графики. CALayers почти так же просты в использовании, но немного более легки, чем UIViews (в некотором смысле вы можете рассматривать UIViews как просто оболочки для CALayers с дополнительными издержками для управления такими вещами, как сенсорные события и т. Д.)
Если вам интересно, я бы прочитал Руководство по программированию Core Animation (я бы предоставил ссылку, но я думаю, что моя репутация слишком низкая, но Google должен отследить ее для вас). Базовая анимация - это большая тема, и она может быть довольно сложной, но если вы просто используете слои (то есть не анимационные части), это не так уж плохо. Вот быстрый пример, чтобы дать вам представление о том, как выглядит использование слоев:
// NOTE: I haven't compiled this code so it may have typos/errors I haven't noticed
UIView* canvasView; // the view that will be the "canvas" for your game
... // initialize the canvas, etc.
CALayer* imageLayer = [CALayer layer];
UIImage* image = [UIImage imageNamed: @"MyImage.png"];
imageLayer.content = (id)image.CGImage;
imageLayer.bounds = CGRectMake(0, 0, image.size.width, image.size.height);
imageLayer.position = CGPointMake(100, 100); // NOTE: Unlike UIViews CALayers have their origin at the center
[canvasView.layer addSublayer:imageLayer];
Так что в основном это похоже на работу с представлениями, но с некоторой добавленной производительностью (и иногда головной болью).
P.S. - Следует помнить одну вещь: если вы вносите изменения в свойство слоя, которое является анимируемым (например, положение, непрозрачность и т. Д.), Core Animation будет неявно анимировать его (например, если вы напишите imageLayer.position = somePoint; слой анимируется в эта позиция, а не ее установка сразу. Есть простые способы обойти это, но это тема для другого вопроса / ответа.