Авторазмер не работает, если используется transitionfromview

#iphone #ios4 #ipad

#iPhone #ios4 #iPad

Вопрос:

Я работаю в разделе detailview контроллера splitviewcontroller для ipad.

Я меняю представления здесь следующим кодом

         if ([[[self.view subviews] objectAtIndex:0] tag] != 1){
        [[[self.view subviews] objectAtIndex:0] removeFromSuperview];
        dvCases = [[DVCases alloc] initWithNibName:@"DVCases" bundle:nil];
        [dvCases setDelegate:self];
        [dvCases setCase:nsManagedObject];
        [self.view insertSubview:dvCases.view atIndex:0];
  

Это работает нормально, и авторазмер работает.

однако, если я использую это

         if ([[[self.view subviews] objectAtIndex:0] tag] != 1){
        dvCases = [[DVCases alloc] initWithNibName:@"DVCases" bundle:nil];
        [dvCases setDelegate:self];
        [dvCases setCase:nsManagedObject];

        [UIView transitionFromView:[[self.view subviews] objectAtIndex:0]
                            toView:dvCases.view duration:1.0
                           options:UIViewAnimationOptionTransitionFlipFromLeft   UIViewAnimationOptionShowHideTransitionViews
                        completion:nil];

        [self.view insertSubview:dvCases.view atIndex:0];
  

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

Редактировать Возможно, если мой вопрос слишком сложный или расплывчатый, или я неправильно его набираю.

Я поиграл практически со всем, и теперь я думаю, что вышеупомянутые 2 функционируют одинаково. Оба для меня НЕВЕРНЫ.

Что действительно работает, так это то, что приведенный выше вид добавляется в качестве подвида к тому, что я называю своим viewmaster. Этот мастер представления добавляется в качестве представления к контроллеру splitview. Т.е. к массиву splitview, который может иметь только 2 вида.

Таким образом, у меня есть Splitview> viewmaster> view (размеры представления не работают, когда изменяется только это представление с помощью insertsubview). но если я снова вставлю viewmaster, тогда все размеры будут правильными. Кто-нибудь может мне помочь с тем, где мои размеры, или автонастройки, или что-то еще не так?

Ответ №1:

Это старый вопрос. Проблема для меня заключалась в размере моего super view.

Ответ №2:

Добавьте UIViewAnimationOptionShowHideTransitionViews | UIViewAnimationOptionLayoutSubviews в свои параметры анимации.