zoukankan      html  css  js  c++  java
  • 【iOS】ios6.0 UINavigationController支持屏幕自动旋转

    问题描述:

    当从页面A跳转到页面B时,使用的是UINavigationController的presentViewController:animated:completion:方法。如果页面A是纵向UI,而页面B则在xib配置中是横向UI,不论在B的viewController实现文件中如何设置,从A到B跳转后,B为纵向显示,无法受其控制。

    原因:

    猜测是因为presentViewController:animated:completion:时,旋转控制权在parentViewController上,B页面无法拿到控制权。

    解决方案:

    重写UINavigationController的旋转方法,使viewController能够拿到旋转权。

    代码如下:

    UINavigationController+Rotation_IOS6.h

    @interface UINavigationController (Rotation_IOS6)
    
     -(BOOL)shouldAutorotate;
     -(NSUInteger)supportedInterfaceOrientations;
     -(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation;
    
     @end

    UINavigationController+Rotation_IOS6.m

    @implementation UINavigationController (Rotation_IOS6)
     -(BOOL)shouldAutorotate {
         return [[self.viewControllers lastObject] shouldAutorotate];
     }
     
     -(NSUInteger)supportedInterfaceOrientations {
         return [[self.viewControllers lastObject] supportedInterfaceOrientations];
     }
     
     - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
         return [[self.viewControllers lastObject] preferredInterfaceOrientationForPresentation];
     }
     @end
    作者:风倾清凌
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    Ubuntu 安装Nginx的APT源
    Slots的数值设计与人为干涉
    棋牌游戏的经济系统分析
    kubernetes学习笔记之阿里云游戏业务实战
    Certbot-免费的https证书
    let’s Encrypt 证书之安装故障 Could not bind to IPv4 or IPv6.
    ssh:Permissions 0644 for ‘/root/.ssh/id_rsa’ are too open
    详解nginx websocket配置
    nginx upstream的五种分配方式
    nrm安装与配置
  • 原文地址:https://www.cnblogs.com/Amandaliu/p/3135837.html
Copyright © 2011-2022 走看看