2012-12-06 21 views
5

Gezinme görünümü denetleyicimin başka bir denetleyiciyi iterken "sağdan sola kaydır" geçişini değiştirmek istiyorum. Film şeridinde bir seçenek buldum ama işe yaramıyor. Geçiş tarzı hala aynı.iOS push style segue geçişi

transition

Yani, benim sorum, bu mümkün itme stili yapmak için: Geçişler modal tarzı segue içindir gibi görünüyor olsa da, film şeridindeki hedef görünüm denetleyicisi tıklayarak ben buldum farklı bir şekilde bakmak için geçiş? Ve eğer öyleyse, nasıl?

cevap

2

İtme geçişine sahip olmak için, görünümlerinizi birleştiren bir UINavigationController kullanmanız gerekir. Bunlar tek geçişli geçişler için tüm modal geçiş seçenekleridir.

Aynı şekilde, en azından bir storyboard'larda zaten bir UINavigationController kullanıyorsanız, itme dışındaki herhangi bir şeyi kullanamazsınız.

Bu sınırlamayı aşmanın en kolay yolu, kodu UIView Animation veya CAAnimation içine sarılmış bir animasyon olmadan bir kaydırma yapmak ve bir kaydırma yapmaktır.

6

Herhangi bir geçişe ulaşmak için özel bir Segue içinde CATransition'ı kullanabilirsiniz. İşte örnek kod.

-(void)perform { 

__block UIViewController *sourceViewController = (UIViewController*)[self sourceViewController]; 
__block UIViewController *destinationController = (UIViewController*)[self destinationViewController];      

CATransition* transition = [CATransition animation]; 
transition.duration = .25; 
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 
transition.type = kCATransitionPush; //kCATransitionMoveIn; //, kCATransitionPush, kCATransitionReveal, kCATransitionFade 
transition.subtype = kCATransitionFromLeft; //kCATransitionFromLeft, kCATransitionFromRight, kCATransitionFromTop, kCATransitionFromBottom 



[sourceViewController.navigationController.view.layer addAnimation:transition 
              forKey:kCATransition]; 

[sourceViewController.navigationController pushViewController:destinationController animated:NO];  


} 

Daha fazla ayrıntı http://blog.jambura.com/2012/07/05/custom-segue-animation-left-to-right-using-catransition/

+0

Mükemmel Yanıt bro için bu bağlantıyı ziyaret ... Ben :-) uzun Kez bunun için aradım –