Имитация таймера в приложении таймера iPad
Если вы откроете приложение таймера на своем iPad, вы получите этот красивый серый круг, который медленно становится красным по мере приближения времени к концу. Я хотел бы научиться подражать этому. Я нашел Quartz 2D в качестве одного из вариантов, хотя я нашел мало информации об использовании его для iOS. Вообще-то, я просто n00b, так что я мог бы пропустить какой-то огромный, более простой способ заставить круг вращаться. Плюс держите текущее время в середине.
Так что, если кто-нибудь может указать мне правильное направление, я буду очень благодарен. Заранее спасибо!
1 ответ
Вы можете сделать это с помощью CAShapeLayer
сделать круг. Используйте Core Animation для анимации перехода от одного цвета к другому с течением времени. CAShaperLayer
"s fillColor
свойство анимируемо. Было бы что-то вроде этого:
CAShapeLayer *myCircleLayer = ...; // create a circle layer and add it to your view
CABasicAnimation* transition = [CABasicAnimation animationWithKeyPath:@"fillColor"];
transition.fromValue = [UIColor grayColor];
transition.toValue = [UIColor redColor];
transition.duration = secondsUntilTimerExpires;
[myCircleLayer addAnimation:transition forKey:@"fillColor"];
Возможно, вы захотите добавить анимацию только тогда, когда время таймера приближается к истечению. Очень длинная, медленная анимация, например, более часа, делает круг в основном красным в течение довольно длительного времени, что не помогает пользователю определить время до истечения таймера.