Из справочника классов UIView :
Класс UIImageView оптимизирован для отображения своих изображений на дисплее. UIImageView не будет вызывать drawRect: подкласс. Если вашему подклассу требуется пользовательский код для рисования, рекомендуется использовать UIView в качестве базового класса.
В настоящее время подклассы UIImageView
работают, особенно если они не влияют на код рисования. Только не жалуйтесь Apple, если будущее обновление iOS сломает ваш подкласс. Достаточно легко написать собственный подкласс UIView для отображения изображения. Если у вас уже есть подходящая графика, рассмотрите возможность размещения ее в CALayer
contents
вместо реализации метода UIView drawRect
.
Вращения путем изменения UIView transform
(тип CGAffineTransform
) всегда выбирают кратчайший путь. Это означает, что поворот на 270 градусов по часовой стрелке анимируется как поворот на 90 градусов против часовой стрелки, и любое кратное 360 градусов ничего не изменит. Вы можете получить вращение на 360 градусов, если получите слой вида, и анимировать CALayer transform
(тип CATransform3D
). См. Можно ли использовать CGAffineTransformMakeRotation для поворота вида более чем на 360 градусов?
Чтобы анимация повторялась бесконечно, Справочник по протоколу CAMediaTiming рекомендует установить repeatCount
в HUGE_VALF
.