2015-05-28 2 views
1

Мне нужно оживить цвет и масштаб привязанной строки. CATextLayer не работает для меня, потому что он может изменить только цвет переднего плана для простых строк ..Как оживить NSAttributedString?

я нашел другое решение, но я не получил его на работу либо Link

мне нужно, чтобы заставить его работать как на Mac, так и на iOS. Я думаю, что слои были бы идеальными, потому что я могу легко масштабировать их.

У вас есть идеи?

ответ

6

Если вам необходимо анимировать объект, который не является анимированным, вы можете использовать CADisplayLink. Это позволяет вам создавать свою собственную анимацию, выполняя метод каждый раз, когда экран обновляется. Несмотря на то, что он выглядит как низкоуровневый, его реализовать не сложно. Вы можете легко найти учебники/примеры в Интернете.

Примечание: оно не вызывает ваш метод периодически, поэтому не предполагайте ничего о времени и держите счетчик и подсчитывайте прогресс своей анимации самостоятельно. Кроме того, CADisplayLink классный.

Редактировать: Как указал Макс, CADisplayLink не доступен для Mac. Но есть CVDisplayLink, я думаю, вы можете достичь желаемой анимации. Для получения дополнительной информации о CVDisplayLink, вы можете взглянуть на that answer Брэдом Ларсоном.

+1

К сожалению, CADisplayLink доступен только на iOS, а не на OS X – mangerlahn

+1

Я нашел эквивалент CADisplayLink в Mac SDK: CVDisplayLink –

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