zoukankan      html  css  js  c++  java
  • iOS开发>学无止境

    禁止转屏 : 

      在AppDelegate.m中增加这个方法,就可以禁止转屏

      - (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window  
          {  
               return UIInterfaceOrientationMaskPortrait;  
          }  

    某一个界面可以转屏:

      需要写一个tabBarController的类,并写上以下方法

      

    #import "MFTabBarViewController.h"

    #import "UINavigationController+Autorotate.h"

    @interface MFTabBarViewController ()

    @end

    @implementation MFTabBarViewController

    - (void)viewDidLoad {

        [super viewDidLoad];

        // Do any additional setup after loading the view.

    }

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

        return (interfaceOrientation == UIInterfaceOrientationPortrait);

    }

    - (UIInterfaceOrientationMask)supportedInterfaceOrientations {

        return UIInterfaceOrientationMaskPortrait;

    }

    - (BOOL)shouldAutorotate

    {

        return YES;

    }

    -(BOOL)prefersStatusBarHidden

    {

        return NO;

    }

    @end

    再创建一个 navigationViewController 的类 , 并写入以下方法

    #import <UIKit/UIKit.h>

    @interface UINavigationController (Autorotate)

    - (BOOL)shouldAutorotate;

    - (NSUInteger)supportedInterfaceOrientations;

    @end

    #import "UINavigationController+Autorotate.h"

    @implementation UINavigationController (Autorotate)

    ////返回最上层的子Controller的shouldAutorotate

    ////子类要实现屏幕旋转需重写该方法

    //- (BOOL)shouldAutorotate{

    //    return self.topViewController.shouldAutorotate;

    //}

    //

    ////返回最上层的子Controller的supportedInterfaceOrientations

    //- (NSUInteger)supportedInterfaceOrientations{

    //    NSLog(@"%@", self.topViewController);

    //    return self.topViewController.supportedInterfaceOrientations;

    //}

    - (BOOL)shouldAutorotate {

        if (self.topViewController != nil)

            return [self.topViewController shouldAutorotate];

        else

            return [super shouldAutorotate];

    }

    - (NSUInteger)supportedInterfaceOrientations {

        if (self.topViewController != nil)

            return [self.topViewController supportedInterfaceOrientations];

        else

            return [super supportedInterfaceOrientations];

    }

    - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {

        if (self.topViewController != nil)

            return [self.topViewController preferredInterfaceOrientationForPresentation];

        else

            return [super preferredInterfaceOrientationForPresentation];

    }

    @end

    本内容来自: 超越昨天(学无止境) - http://www.cnblogs.com/xvewuzhijing/
  • 相关阅读:
    [Swift]iOS开发之CATransform3D
    [Swift]iOS开发之锚点anchorPoint
    [Swift]iOS开发之ScrollView
    [Swift]iOS开发之不同界面传值
    [Swift]Xcode7设置网络请求权限
    tomcat非安裝方式,添加windows服務啟動方式
    tomcat配置环境变量
    .eslintrc.js
    vscode中eslint配置文件setting.json
    解决vue项目路由出现message: "Navigating to current location (XXX) is not allowed"的问题
  • 原文地址:https://www.cnblogs.com/xvewuzhijing/p/4905461.html
Copyright © 2011-2022 走看看