2015-07-09 2 views
0

Я следую this tutorial и пытаюсь сделать слайдер.ios: Анимация UIControl с CoreGraphics

У меня есть класс Slide:

class YDSlider: UIControl { 

    var value = 0.0 
... 

И это имеет подслой с градиентом, чтобы показать прогресс (так же, как в учебнике). Я хотел бы реализовать функцию func setValue(value: Double, animated: Bool), но я не понимаю, как изменить анимацию. Мой текущий подход не работает:

UIView.animateWithDuration(1, delay:1.0, options:UIViewAnimationOptions.LayoutSubviews, animations: {() -> Void in 

     self.value = value 

     }, completion: nil) 

ответ

0

Без источника вашего класса, это будет трудно, чтобы помочь вам, но, насколько я могу видеть в учебнике, слайдер разработан с UIViews, CALayers и с drawRect способ.

Так что в зависимости от типа элементов вашего слайдера, который вы хотите оживить, вам придется использовать UIView animateions и для CoreAnimation. Если вам нужно одушевить детали, разработанные с помощью метода drawRect, это будет сложнее, и вам придется вручную перерисовывать детали для каждого кадра анимации.

+0

Мои подслои создаются методом drawRect. Что мне делать в этом случае? – user1284151

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