анимированный "ползающий текст" на iPhone - PullRequest
2 голосов
/ 04 декабря 2009

Кто-нибудь знает, как создать "обход текста" , как показано в нижней части приложения ESPN ScoreCenter для iphone?

По сути, в нижней части экрана есть небольшая полоска текста , и текст анимирован, поэтому он медленно перемещается по экрану справа налево.

alt text

Может кто-нибудь указать мне какой-нибудь исходный код, который делает что-то подобное? Это просто UIWebView?

Я пытался гуглить, но безрезультатно.

Спасибо всем, кто может указать верное направление!

Ответы [ 2 ]

4 голосов
/ 04 декабря 2009

Вы смотрели анимацию в документации? Это может быть решено несколькими способами. Если вы создали это как UILabel, вы можете просто переместить его в анимации (CoreAnimation), используя нечто похожее на следующее:

_label.frame = ???   // set it to the origin (right edge) 

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:6.0];   // 6 seconds, adjust
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

_label.frame = ???  // set it to the destination (left edge)

[UIView commitAnimations];
3 голосов
/ 04 декабря 2009

Я бы рекомендовал создать подкласс UIView. В вашем методе init установите self.clipsToBounds = YES и добавьте две метки UILabel с одинаковым текстом (все, что вы хотите прокрутить). Это два, чтобы вы могли плавно анимировать их - поместите одно сразу справа от другого, чтобы, когда они прокручивались, это выглядело как сообщение повторяется. Как только ярлык прокрутится полностью влево, переместите его вправо от другого. Это создаст иллюзию плавной прокрутки.

Затем вы можете использовать [UIView beginAnimations:] и т. Д. Для настройки анимации и [UIView setAnimationDelegate: self]; [UIView setAnimationDidStopSelector: @selector (animationDone)] для получения сообщений о завершении анимации (чтобы вы могли переместить представление поверх). Просто убедитесь, что вы создали метод, на который ссылаются.

Вы также можете сделать это с NSArray UILabels для отображения нескольких отдельных сообщений, не добавляя много сложностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...