Имитация таймера в приложении таймера 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"];

Возможно, вы захотите добавить анимацию только тогда, когда время таймера приближается к истечению. Очень длинная, медленная анимация, например, более часа, делает круг в основном красным в течение довольно длительного времени, что не помогает пользователю определить время до истечения таймера.

Другие вопросы по тегам