`

shouldAutorotateToInterfaceOrientation 不触发或者不执行的问题[转]

 
阅读更多

今天遇到一个很郁闷的问题:新做的ipad程序中,界面居然在未作任何配置的情况下不支持旋转了。

通过在uitabbarcontroller的旋转事件添加nslog发现,其完全没有被触发。

通过网上查资料 在cocochina上找到了答案

   是位hanzengbo 的朋友的解答 原文如下

昨天忙乎了一天,没搞定。今天早上终于搞定了。贴出来希望能对遇到相似问题的哥们有用。前面搜到的答案都说是uitabbarcontroller的问题。但是我重新写了个小程序,也使用了tabbar这个控件,发现每个窗体也是能触发旋转事件的。昨天在tabbarcontroller这个地方弄了一天,一直没有弄成功。但是有一点可以肯定,就是旋转事件是被父窗体劫持了,从而使得tabbar中的每个窗体不能接受到旋转事件。今天来重新看了一下程序,发现问题在于我的程序开始有个启动窗体,在delegate文件中,我把tabbarcontroller的view加进了这个启动窗体,所以整个程序的父窗体就是这个启动窗体。我在启动窗体的旋转事件中打印log信息,能够成功。为了让tabbar的每个view能够响应旋转事件,就只能让他们成为单独的父窗体。所以我修改启动窗体代码,首先在delegate中addsubview 启动窗体,然后addsubview tabbar的窗体,在启动画面显示一定时间后,就把启动窗体从window中remove掉,这样下面的tabbar窗体就显示出来了,而且tabbar的窗体成为了父窗体,能够正常接受到旋转时间。

 

和我一样,我也有登录窗 嘿嘿 太巧了 

[[[self.view.superview subviews] objectAtIndex:0] removeFromSuperView];

搞定 。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics