Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UIModalTransitionStylePartialCurl not rotating

I've got a modal view controller that is being displayed using UIModalPresentationFullScreen with the TransitionStyle set as UIModalTransitionStylePartialCurl. This works beautifully.

My problem is that when the device is rotated, my view rotates (as intended), but the "curl" effect does not. Does anyone know if this is by design, or is there something else that needs to be done? Thanks.

like image 619
Mongo Avatar asked May 03 '10 14:05

Mongo


2 Answers

In my experience the UIModalTransitionStylePartialCurl style puts both view controllers involved in a state of semi limbo where they don't play by the normal rules. Another example of this is that the partial curl modal presentation doesn't seem to respect the view hierachy's modal over ride, meaning that when you have modal views stacked, if you display a modal higher up the stack it should take over, however the partial curl blocks this.

e.g. the views modally displaying other views: view 1 -> view 2 -> view 3 Tell view 1 to modally display view 4 view 1 -> view 4 If view 3 is displaying as partial curl, nothing will happen when you request the display of view 4.

Additionally you can not display other views modally under a partial curl (official documentation states this, which inherently means it does not behave like a normal modal display) e.g. view 1 -> view 2 (partial curl) tell view 2 to modally display view 3 nothing happens

IMO apple hasn't fully baked the UIModalTransitionStylePartialCurl style which is a shame because it's fantastic. Long story short, expect problems when using it as it does not behave as expected when asked to do anything beyond just flip up and down.

like image 92
ima747 Avatar answered Nov 03 '22 15:11

ima747


When I ran into this problem I decided it was okay for the modally presented view to be automatically dismissed in deviceDidRotateSelector so thereby avoiding the problem.

like image 21
ader Avatar answered Nov 03 '22 14:11

ader