2013-09-23 4 views
2

У меня есть пользовательская форма, которую я хочу рисовать с помощью UIBezierPaths, и я хочу использовать этот рисунок как CALayer внутри моего представления. Путь безье я использую, если я рисую его непосредственно на UIView (внутри drawRect). Я хочу знать, как я могу использовать тот же чертеж безье и выполнить рисунок внутри моего CALayer. Я бы добавил этот слой в качестве подслоя внутри моего представления!Рисование пользовательской формы и анимация пользовательских свойств с использованием CALayers?

Например, можно сказать, что я рисую концентрический круг с моими беззерскими дорожками, и я хочу нарисовать это с помощью CALayer, как бы я начал анимацию пользовательских свойств пути, например его центр, радиус, startAngle и endAngle ?

В частности я хочу знать, как я должен

  1. организовать свою CALayer (инициализации, рисунок, upadte рисунок и т.д.)
  2. Как я рисовать Безье внутри моей CALayer?
  3. Как взаимодействовать между слоем и его содержимым?

Любая помощь приветствуется!

ответ

4

Вот как вы создаете & нарисуйте UIBezierPath в CALayer. Использование CAShapeLayer является самым простым способом:

UIBezierPath *circlePath = [UIBezierPath bezierPathWithOvalInRect:...]; 
CAShapeLayer *circleLayer = [CAShapeLayer layer]; 
circleLayer.path = circlePath.CGPath; 
[self.view.layer addSublayer:circleLayer]; 

Вот хороший tutorial on creating animatable properties in CALayers.

Смежные вопросы