Я в настоящее время работаю над проектом iPhone. Я хочу увеличить динамично UILabel в Objective C как это:
сопроводительный текст http://img268.imageshack.us/img268/9683/bildschirmfoto20100323u.png
Как это возможно? Я думал, что должен сделать это с CoreAnimation, но я не сделал работавший. Вот код, который я попробовал:
UILabel * fooL = //[…]
fooL.frame = CGRectMake(fooL.frame.origin.x, fooL.frame.origin.y, fooL.frame.size.width, fooL.frame.size.height);
fooL.font = [UIFont fontWithName:@"Helvetica" size:80];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:0.5];
[UIView setAnimationBeginsFromCurrentState:YES];
fooL.font = [UIFont fontWithName:@"Helvetica" size:144]; //bigger size
fooL.frame = CGRectMake(20 , 44, 728, 167); //bigger frame
[UIView commitAnimations];
Проблема с этим кодом состоит в том, что он не изменяет fontsize динамично.
Попробуйте этот метод:
+ (void)setAnimationTransition:(UIViewAnimationTransition)transition
forView:(UIView *)view
cache:(BOOL)cache
Параметры: переход Переход, который нужно применить к представлению. Возможные значения описаны в UIViewAnimationTransition.
вид Вид, к которому нужно применить переход.
кэш Если ДА, то изображения вида до и после рендерятся один раз и используются для создания кадров в анимации. Кэширование может повысить производительность, но если вы установите этот параметр в YES, вы не должны обновлять вид или его вложенные представления во время перехода. Обновление представления и его подпрограмм может нарушить поведение кэширования и привести к тому, что содержимое представления будет отображаться неправильно (или в неправильном месте) во время анимации. Для обновления представления необходимо дождаться окончания перехода.
Если НЕТ, представление и его содержимое должны обновляться для каждого кадра анимации перехода, что может заметно повлиять на частоту кадров.
Обсуждение Если вы хотите изменить внешний вид представления во время перехода - например, перейти от одного представления к другому - используйте представление-контейнер, экземпляр UIView, следующим образом:
Начните блок анимации. Установите переход на контейнерном представлении. Удалите вложенный вид из контейнерного представления. Добавьте новое вложенное представление в контейнерное представление. Зафиксируйте блок анимации.