objective c - Unable to detect portrait orientation on iPhone -


i displaying modal view controller when rotate landscape. want remove modal view controller when in portrait. reason, log statement doesn't appear when go portrait mode.

- (bool)shouldautorotatetointerfaceorientation:(uiinterfaceorientation)interfaceorientation {     // return yes supported orientations.     return (interfaceorientation == uiinterfaceorientationportrait ||                    interfaceorientation == uiinterfaceorientationportraitupsidedown ||                    interfaceorientation == uiinterfaceorientationlandscapeleft ||                    interfaceorientation == uiinterfaceorientationlandscaperight); }   -(void)willanimaterotationtointerfaceorientation:(uiinterfaceorientation)tointerfaceorientation duration:(nstimeinterval)duration {      if (tointerfaceorientation == uiinterfaceorientationlandscapeleft ||         tointerfaceorientation == uiinterfaceorientationlandscaperight) {          nslog(@"showing chart");         [self presentmodalviewcontroller:landscapechartviewcontroller animated:no];     }      if (tointerfaceorientation == uiinterfaceorientationportrait ||         tointerfaceorientation == uiinterfaceorientationportraitupsidedown) {         nslog(@"dismissing chart");         [self.parentviewcontroller dismissmodalviewcontrolleranimated:no];     } } 

you can simplify code bit, might narrow down.

 - (bool)shouldautorotatetointerfaceorientation:(uiinterfaceorientation)interfaceorientation { // return yes supported orientations. return yes; // return yes same entering interfaces. }   -(void)willanimaterotationtointerfaceorientation:(uiinterfaceorientation)tointerfaceorientation duration:(nstimeinterval)duration {  if (uiinterfaceorientationislandscape(tointerfaceorientation)) {      nslog(@"showing chart");     [self presentmodalviewcontroller:landscapechartviewcontroller animated:no]; }  if (uiinterfaceorientationisportrait(tointerfaceorientation)) {     nslog(@"dismissing chart");     [self.parentviewcontroller dismissmodalviewcontrolleranimated:no];     // self.parentviewcontroller seems call modalviewcontroller.      // should moved modalviewcontrollers implementation } } 

just looking @ it, i'm thinking need dismiss modal view controller inside modal view, not inside parent view. so, use landscape version inside primary controller, , add "willanimaterotation..." modal controller handle portrait rotation state.


Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -