Анимация UILabel вверх и вниз

У меня есть анимация UILabel которая оживляет таймер обратного отсчета. Он отлично работает, но …

Прямо сейчас, он настроен таким образом, что текст упрощается сверху, используя CATransition kCATransitionFromBottom . Это занимает 0,5 секунды. Как я могу сделать так, чтобы в течение следующих 0,5 секунд CATransition и мой ярлык CATransition ?

Надеюсь ты понимаешь! Благодаря!

Вот видео с тем, как выглядит анимация прямо сейчас: http://tinypic.com/r/5vst2h/8

 -(void)updateLabel { NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; int *units = NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; NSDateComponents *components = [calendar components:units fromDate:[NSDate date] toDate:destinationDate options:0]; //ANIMASJON secLabel.alpha = 0; [UIView beginAnimations:nil context:nil]; [UIView setAnimationCurve:UIViewAnimationCurveEaseIn]; //don't forget to add delegate..... [UIView setAnimationDelegate:self]; [UIView setAnimationDuration:0.5]; secLabel.alpha = 1; //also call this before commit animations...... [UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)]; CATransition *animation = [CATransition animation]; animation.duration = 0.5; //You can change this to any other duration animation.type = kCATransitionMoveIn; //I would assume this is what you want because you want to "animate up or down" animation.subtype = kCATransitionFromBottom; //You can change this to kCATransitionFromBottom, kCATransitionFromLeft, or kCATransitionFromRight animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; [secLabel.layer addAnimation:animation forKey:@"secLabel"]; [dayLabel setText:[NSString stringWithFormat:@"%02d%", [components day]]]; [hourLabel setText:[NSString stringWithFormat:@"%02d%", [components hour]]]; [minLabel setText:[NSString stringWithFormat:@"%02d%", [components minute]]]; [secLabel setText:[NSString stringWithFormat:@"%02d%", [components second]]]; [UIView commitAnimations]; } -(void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context { { [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.5]; secLabel.alpha = 0; [UIView commitAnimations]; } } 

2 Solutions collect form web for “Анимация UILabel вверх и вниз”

Чтобы анимировать ярлык вверх, вниз, я обычно делал это:

 [UIView animateWithDuration:0.2 delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^{ // moves label up 100 units in the y axis self.myLabel.transform = CGAffineTransformMakeTranslate(0, -100); } completion:^(BOOL finished) { [UIView animateWithDuration:0.2 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{ // move label back down to its original position self.myLabel.transform = CGAffineTransformMakeTranslate(0,0); } completion:nil]; }]; 

Это то, что вы ищете?

редактировать

Правильно, снова прочитав свой вопрос, чтобы вы могли скользить и исчезать сверху, а затем скользить и исчезать на дно?

 self.mylabel.alpha = 0; [UIView animateWithDuration:0.2 delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^{ // moves label down 100 units in the y axis self.myLabel.transform = CGAffineTransformMakeTranslate(0, 100); // fade label in self.myLabel.alpha = 1; } completion:^(BOOL finished) { [UIView animateWithDuration:0.2 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{ // move label down further by 100 units self.myLabel.transform = CGAffineTransformMakeTranslate(0,1000); // fade label out self.myLabel.alpha = 0; } completion:nil]; }]; 

Имейте в виду, что преобразования применяются относительно ваших исходных свойств x, y, width, height вашего фрейма. Таким образом, перевод 100 единиц в y означает исходную координату Y вашего кадра + 100.

Вы пробовали Анимационные блоки. Возможно, блок анимации внутри блока завершения может сделать желаемые результаты. Что-то вроде этого: (учитывая точку y вашей метки где-то сверху)

 [UIView animateWithDuration:0.5 animations:^{ MyLbl.frame = CGRectMake(myLbl.frame.origin.x, 200, myLbl.frame.size.width, myLbl.frame.size.height); // 200 is considered to be center myLbl.alpha = 1; } completion:^(BOOL finished){ [UIView animateWithDuration:0.5 animations:^{ myLbl.frame = CGRectMake(myLbl.frame.origin.x, 400, myLbl.frame.size.width, myLbl.frame.size.height); // 400 is considered to be bottom somewhere myLbl.alpha = 0; }]; }]; 

Надеюсь, у вас есть идея.

  • Как сделать редактируемый ярлык в iOS (например, назвать список напоминаний)?
  • Почему мое время UILabels пропускает 2 секунды, когда возобновляет игру из состояния паузы?
  • Установить размер шрифта UILabel в соответствии с его размером кадра?
  • iOS: UIButton titleLabel - он вообще что-то делает?
  • NSTextAlignment обратный. Естественный
  • сделать текст UILabel полужирным шрифтом
  • Как визуализировать повернутую UIlabel
  • Обычный текст обрезается внизу в iOS, как исправить в xCode?
  • Почему элемент управления меткой не переносится на несколько строк после того, как я выбираю эту опцию
  • Определите высоту UILabel для центрирования при использовании adjustFontSizeToFitWidth
  • Ярлык таблицы просмотра не выравнивается по центру, если число строк не равно 1
  • Interesting Posts

    значок приложения в реальном времени, как часы iOS 7

    Единичное тестирование частных методов из категории?

    Xcode 8 / Swift 3: «Выражение типа UIViewController? не используется "предупреждение

    Обнаружение вращения / перемещения устройства в iOS sdk

    CollectionView дразнит предыдущий и следующий

    Диапазон (0 … 4) и substringWithRange?

    Как загрузить локальный json-файл в Xcode для целей единого тестирования?

    Где установлена ​​конфигурация активной сборки в Xcode 4

    AudioUnit: ошибка, сообщаемая mediaserverd – «Ошибка», что «получение формата клиента для физического формата»

    Покрытие кода с нескольких устройств или версий iOS

    ленивая загрузка изображений в uicollectionview

    У копии базы данных в каталоге документов возникают проблемы

    Плоский UI Radiocheck плагин / переключатели не переключаются (больше) с iOS 8.4.1

    Шрифт Сан-Франциско в iOS 8

    iOS В приложении для загрузки содержимого контента

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.