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

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -