UIView animateWithDuration: анимация: завершение: применяется преобразование, а не анимация

пытаясь вызвать это сообщение из наблюдения КВО. После загрузки изображения это сообщение отправляется. Сообщение в блоке завершения также содержит анимацию, которая работает правильно (анимирует правильно). Эта анимация применяет преобразование без появления анимации (ожидает длину анимации, а затем просто переходит в конечное состояние).

/** * Discover the subview with the supplied tag, attach the fullsize image to the view * scale to fullsize and begin retract. * @param viewTag int - #FUTURE USE# - The tag of the view to be animated. * @param image UIImage - #FUTURE USE# - The image to be applied to the view. * @return void */ - (void)animateViewWithTag:(int)viewTag andImage:(UIImage *)image { Panel *activePanel = [self.panels objectAtIndex:currentIndex]; UIView *activePanelView = [self.view viewWithTag:activePanel.panelId]; // Display the transition to the fullsize version of the panel image. // Determine the scale that needs to be applied to the view to show // the image in the appropriate scaling. If scaled image is greater than // the size of the screen, find the best fit. float scale = image.size.width / activePanelView.frame.size.width; if (image.size.width > self.view.window.frame.size.width || image.size.height > self.view.window.frame.size.height) { // The image will scale beyond the bounds of the window, scale must be adjusted. scale = self.view.window.frame.size.width / activePanelView.frame.size.width; } CGAffineTransform transform = CGAffineTransformMakeScale(scale, scale); [UIView animateWithDuration:1.0 animations:^{ // Get the fullsize image and display it in the growing panel. [activePanelView setTransform:transform]; [NSThread sleepForTimeInterval:3.0]; } completion:^(BOOL finished) { [self retractImage:activePanelView]; }]; } #pragma mark - KVO - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { int tmpInt = (int)context; UIImage *tmpImage = [change objectForKey:NSKeyValueChangeNewKey]; if ( keyPath == @"imgOriginal" ) { [self animateViewWithTag:[(Panel *)object panelId] andImage:tmpImage]; } } 

One Solution collect form web for “UIView animateWithDuration: анимация: завершение: применяется преобразование, а не анимация”

Какова цель спящего потока?

Если вы сделаете сбой основного потока, то он не будет обновлять анимацию тем временем.

И если вы не вызываете это в основном потоке, это также не сработает, потому что анимация UIKit не является потокобезопасной и может быть надежно использована только из основного потока.

  • Пользовательская анимация на перезагрузке данных UICollectionView
  • Анимация элементов взглядов, которые переходят на
  • как вызвать один блок завершения для вложенной группы UIView animateWithDuration?
  • iOS «слайд с левого / правого» просмотра анимации
  • SelectedBackgroundView из UICollectionViewCell отображается, когда он не должен быть
  • Правильный способ укладки анимаций и блоков UIView?
  • iOS 7 Как оживить StatusBarStyle от DefaultContent до LightContent
  • iOS - анимация UIView на iPad, изменение x происхождения и ширины одновременно?
  • UITextView анимационная смена кадра не оживляет перераспределение текста
  • Анимация UIView не работает
  • Быстрый просмотр UIView с несколькими вариантами
  • UITableViewCell подвижная анимация
  • Interesting Posts

    Настройка макета Homescreen с профилем конфигурации в разделе iOS 10

    Исключение MapKit: невозможно удалить наблюдателя для ключевого пути "title"

    Связь между React родным и существующим приложением IOS

    Crash Google Cast – безопасность SSLRecordServiceWriteQueueInternal

    Декодирование Base64 в iOS 7+

    UICollectionView Прокрутка по горизонтали

    Предварительный просмотр музыки из музыкального магазина iTunes в приложении iOS

    Генерация формы сигнала из любого музыкального файла ios

    OpenUrl затягивает приложение более 10 секунд

    Миграция основных данных невелика, хотя миграция не переносится

    Проблема с UItextView iOS 7

    Возможно ли реализовать двунаправленную релятивистскую связь между двумя структурами, используя только постоянные свойства?

    Как отправить аудиопоток с помощью UDP-сокета в ios sdk

    Использование неактивного внутри списка захвата, вызывающего сбой, даже сам блок не выполняется

    Возможности push-уведомлений ios

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