Я использую как UIViews, так и CALayers. Это действительно зависит от того, что вы хотите и нужно. UIView использует CALayer в фоновом режиме, поэтому вы используете CALayers в любом случае. Обратите внимание, что в UIView есть свойство слоя типа CALayer. Тем не менее, кодирование напрямую с помощью UIView проще, но оно не раскрывает всех возможностей Core Animation. При написании кода с помощью CALayer вы познакомитесь с Core Animation и дюжиной других API.
Если вы просто заинтересованы в добавлении подпредставлений, подойдет любой из этих подходов. Вы можете подумать, что UIView скрывает некоторые детали реализации CALayer.