2014-09-17 3 views
2

Вот вид, что я создал с помощью раскадровки:анимации UIView остановилась при добавлении подвида

enter image description here

Облако, изображения кнопка аватара, и другие текстовых кнопки и т.д., его подвиды. В своем методе viewDidAppear, я добавил несколько методов анимации, которые вызывают облака «плавать» по горизонтали, например:

[UIView animateWithDuration:4.0f 
          delay:0.0f 
         options:(UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat | UIViewAnimationOptionAllowUserInteraction) 
        animations:^{ 
         _cloud1.frame = its new frame so that it looks to float horizontally; 
        } 
        completion:nil]; 

Теперь у меня есть еще один подвид, который я создал с помощью файла XIB. В основном это подзаголовок нестандартного размера, который будет отображаться при нажатии кнопки изображения аватара (мы можем рассматривать его как «экран редактирования профиля» в социальных приложениях). Я добавил его с этой анимацией блоком (обратите внимание, что Justs появляются на вершине фиолетового круга, который на самом деле не удаляется):

_editProfileViewController = [[EditProfileViewController alloc] initWithNibName:nil bundle:nil]; 
[self addChildViewController:_editProfileViewController]; 
[_editProfileViewController didMoveToParentViewController:self]; 

[UIView transitionWithView:self.view duration:0.3 options:(UIViewAnimationOptionTransitionCrossDissolve) animations:^ 
{ 
    [self.view addSubview:_editProfileViewController.view]; 

} completion:NULL]; 

enter image description here

Проблема: Когда я делаю это, все облака прекратите анимацию (пока переход все еще работает).

Любые идеи? Спасибо.

+0

Проверить что вы можете удалить все анимации из слоя, а исчезнуть из представления. – Alfa

+0

Рассматривая код, кажется, что вы загружаете EditProfileViewController в представление и, следовательно, выгружаете родительский вид. Посмотрите на эту тему для альтернативного подхода: [Как представить половинный модальный контроллер просмотра ...] (http://stackoverflow.com/questions/22875155/how-to-present-a-half-modal-view -controller-over-the-top-with-ios-7-custom-trans) – carlodurso

+1

@carlodurso Я посмотрел на эту тему. Кажется, они делают то же самое, что и мои? Кроме того, я думаю, что супервизор не разгружен, потому что он все еще виден. –

ответ

0

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

Примечание для тех, кто сталкивается с той же проблемой:

ОС: Mavericks 10.9.4

Xcode: 5.1.1

IOS Simulator цели: IOS 7,1

Смежные вопросы