IPad开发经验记录

一个关于锁屏的问题。

苹果的本意是好的:所有应用都应支持横竖屏切换;

问题是:现实就有那么一种客户“我只要横屏”;

使用UINavigationController的时候怎么都不能实现锁屏,尽管我注意了IOS5与IOS6的不同之处

ios5:(通过这个方法实现,但在ios6里这个方法不被调用了)

  • - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
  • return ( UIInterfaceOrientationIsLandscape( interfaceOrientation ) );
  • }
  • ios6:(尝试通过这两个方法实现,但没有效果)
  • -(NSUInteger)supportedInterfaceOrientations{
  • returnUIInterfaceOrientationMaskLandscape;
  • }
  • - (BOOL)shouldAutorotate
  • {
  • returnYES;
  • }
  • 效果是该横该竖我们说了不算。问题出在哪呢?
  • [[UINavigationController alloc] initWithRootViewController:(UIViewController *)rootViewController];
  • 然而window下一层是这个UINavigationController,苹果默认是自由切换,即使你把rootViewController千刀万剐,也改变不了自由切换。
  • 解决 继承UINavigationController 重写以上支持IOS5和IOS6的锁屏代码;
  • 不再细述,你明白怎么做了。

 

给自己的,IOS开发已不同于java WEB,思维要清洗!

但是留下面向对象思想!

只留思想,抛弃其他!

IOS要研究思想设计模式

猜你喜欢

转载自zhiyu-zzy-163-com.iteye.com/blog/1885370