ipad - How can I make iOS use the right navigation transition? -
i've got app totally standard uinavigationcontroller using default transition slides new view controller in right left. when hit button, slides previous view controller in left right. works fine on iphone , ipad, in both orientations, in ios 5.1 , ios 6. works in portrait mode on ios 5.0.
but, in landscape mode on ios 5.0 does not work. new view controllers correctly slide in right left, when hit back, old previous view controller slides in top bottom.
this disorienting , can't imagine behavior coming from. i'm doing plain vanilla push , pop of view controllers, , it works fine in other combinations of os , device , orientation. what's going on here, , how can fix it?
well, think bug in ios 5, since fixed in 6. work around it, figured out how apply correct transition manually; override popviewcontrolleranimated
in custom uinavigationcontroller
subclass, , this:
//make custom transition (very close var transition = catransition.createanimation (); transition.duration = 0.25f; transition.type = catransition.transitionpush; transition.subtype = catransition.transitionfromleft; this.view.layer.addanimation (transition, "slide"); var ret = base.popviewcontrolleranimated (false); this.view.layer.removeanimation ( "slide"); return ret;
note i'm using c# , xamarin.ios, that's unrelated underlying problem.
Comments
Post a Comment