Geçişten önce görünüm hiyerarşisinde hem toView hem de fromView öğelerinin kullanılmasına izin veren UIViewAnimationOptionShowHideTransitionViews seçeneğini kullanırdım, ancak birini gösterir ve diğerini gizler.
Gizlenecek görünüme ayarlayın, süper görünüme ekleyin ve geçişten önce kısıtlamaları yükleyin. Daha sonra eski görünümü tamamlama bloğunda kaldırabilirsiniz. Böyle bir şey:
[toView setHidden: YES];
[containerView addSubview: toView];
[containerView addConstraints: [NSLayoutConstraint constraintsWithVisualFormat: @"|[toView]|" options: 0 metrics: nil views: NSDictionaryOfVariableBindings(containerView, toView)]];
[containerView addConstraints: [NSLayoutConstraint constraintsWithVisualFormat: @"V:|[toView]|" options: 0 metrics: nil views: NSDictionaryOfVariableBindings(containerView, toView)]];
[UIView transitionFromView: fromView toView: toView duration: 1.0 options: UIViewAnimationOptionTransitionFlipFromBottom | UIViewAnimationOptionShowHideTransitionViews completion:^(BOOL finished) {
[fromView removeFromSuperview];
}];
.. Gördüğümden, fromView, show/hide seçeneği kullanılsa bile otomatik olarak superview'den kaldırıldı. – Andy
Aramadan sonra görünüm hiyerarşisine bakıldığında, fromView süper bir görüntüden (en azından iOS 6 ve iOS 7'de) kaldırılmaz. – honus
Görünüşe göre AutoLayout kısıtlaması ile flip animasyonu kullanmak için 'UIViewAnimationOptionShowHideTransitionViews' ayarlamamız gerekiyor –