Округленная производительность UIScrollView
Это отлично работает на iPhone 4 и 3GS:
scrollView.layer.cornerRadius = 11;
scrollView.layer.masksToBounds = YES;
Но на iPhone 3G и iPod touch 2-го поколения он делает прокрутку очень рывкой. Я знаю, что есть некоторые трюки о том, как повысить производительность теневых теней CALayer
, например (установка shouldRasterize
на YES и свойство shadowPath
), есть ли что-то подобное, что можно сделать для CALayer cornerRadius?
Ответы
Ответ 1
Является ли содержимое за вашим списком прокрутки (что отображается под закругленными углами) сплошным цветом или иным образом статичным? Если это так, вы должны иметь возможность получить лучшую производительность, накладывая "угловую" графику-полупрозрачную в центре и непрозрачную (с цветом фона или что-то еще) по краям - поверх углов вашего вида прокрутки. Стоимость компоновки четырех изображений 11x11 по вашему контенту будет значительно меньше, чем при отсечении.
Ответ 2
Предоставление CALayers слишком медленное для этого использования (особенно на старых устройствах), это не очень хорошо использовать в играх и т.д. Вы можете переключиться на справки UIImages или cocos2d, другой вариант - создать свой собственный класс уровня с OpenGL, хотя это не так просто. Надеюсь, что один из этих вариантов будет работать для вас.