Ключевым моментом, который необходимо знать о тенях CALayer, является то, что они по умолчанию визуализируются из составного альфа-канала слоя;это может быть очень медленно, особенно когда слой вращается или меняет размер.Вы должны заглянуть в свойство shadowPath
: если вы дадите Core Animation простую фигуру, такую как прямоугольник (UIBezierPath
+bezierPathWithRect:
со слоем bounds
, то вы получите [через свойство CGPath
] CGPathRef
вы можете использовать его там), вы увидите гораздо лучшую производительность.
shouldRasterize
также определенно полезен, особенно с представлениями, которые имеют много подпредставлений, которые меняются не часто;тем не менее, убедитесь, что вы установили для слоя rasterizationScale
значение [UIScreen mainScreen].scale
, иначе вы получите неприятную пикселизацию на экранах с высоким разрешением, таких как iPhone 4.