Как я описываю здесь , я использовал и UIViews, и CALayers в анимациях и обнаружил незначительную разницу в производительности между ними. UIViews - очень легкие обертки вокруг слоев. Кроме того, любые необходимые вам анимации на основе слоев могут быть легко применены к вспомогательному слою UIView.
Я использовал CALayers напрямую в ситуациях, когда я хотел создать кросс-платформенные (Mac / iOS) элементы пользовательского интерфейса, потому что CALayers практически идентичны в своей реализации на обеих платформах (в отличие от существенно разных NSView и UIViews). CALayers не имеют никаких процедур обработки касаний из коробки, но вы можете добавить эту возможность, если вам нужно.
Есть также некоторые крайние случаи, когда вам может потребоваться работать непосредственно со слоями, например, при попытке выполнить ограниченную трехмерную манипуляцию со слоями (как в эффекте CoverFlow) или при использовании CAReplicatorLayer для создания эффектов частиц.