Как использовать аниматор в UILabel - PullRequest
1 голос
/ 27 июля 2010

Я прочитал, что могу использовать объект аниматора в любом UIView для создания анимации, и это включено в Core Animation, поэтому я написал

[[label animator] setFrame:someRect];

Но он дал предупреждение, что UILabel можетответить на -animator

Также я могу найти метод [label setWantsLayer:YES];

Кто-нибудь может мне помочь, пожалуйста?

Ответы [ 2 ]

5 голосов
/ 27 июля 2010
Методы

-animator и -setWantsLayer: взяты из какао (OS X), а не из какао-касания (iOS). UIKit объекты защищены слоями по умолчанию.

2 голосов
/ 27 июля 2010
UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectZero];
[self.containerView addSubview:myLabel];

CGRect destination = CGRectMake(5, 5, 100, 100); //for instance

[UIView beginAnimations:@"animationIdentifierString" context:nil];
myLabel.frame = destination;
[UIView setAnimationDuration:0.5f];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; //that's the default, actually, but set whatever you want there.
[UIView commitAnimations];

Я просто набрал это прямо здесь, так что будьте осторожны с опечатками.Но это идея.Оберните изменения в подклассы UIView при вызове [UIView beginAnimations: context:] и [UIView commitAnimations], задайте некоторые конфигурации для анимаций внутри них, и бум, вы анимируете.

Есть другие способы сделать это, но длямои деньги это самое простое.

Более подробно в справочнике классов UIView на http://developer.apple.com/iphone/library/documentation/uikit/reference/UIView_Class/UIView/UIView.html

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