zoukankan      html  css  js  c++  java
  • iOS

       视频播放想要全屏,使用shouldAutorotate方法禁止主界面,tabbar控制器横屏,导致push进入播放页面不能横屏的问题。。。

    - (BOOL)shouldAutorotate {
    
        return NO;
    
    }
    
     
    
    - (UIInterfaceOrientationMask)supportedInterfaceOrientations {
    
        return UIInterfaceOrientationMaskAll;
    
    }
    
     
    
    后面解决方法:
    
    - (void)fullScreenClick:(UIButton *)sender {
    
        sender.selected = !sender.selected;
    
        if (sender.isSelected) {
    
            _backButton.hidden = YES;
    
            [self forceOrientationLandscapeLeft];
    
        } else {
    
            _backButton.hidden = NO;
    
            [self forceOrientationPortrait];
    
        }
    
    }
    
     
    
    //MARK: -- 强制横屏
    
    - (void)forceOrientationLandscapeLeft
    
    {
    
        AppDelegate *appdelegate=(AppDelegate *)[UIApplication sharedApplication].delegate;
    
        appdelegate.isForcePortrait=NO;
    
        appdelegate.isForceLandscape=YES;
    
        [appdelegate application:[UIApplication sharedApplication] supportedInterfaceOrientationsForWindow:self.view.window];
    
        
    
        YNCNavigationViewController *navi = (YNCNavigationViewController *)self.navigationController;
    
        navi.interfaceOrientation = UIInterfaceOrientationMaskLandscape;
    
        navi.interfaceOrientationMask = UIInterfaceOrientationMaskLandscape;
    
        
    
        //设置屏幕的转向为横屏
    
        [[UIDevice currentDevice] setValue:@(UIDeviceOrientationLandscapeLeft) forKey:@"orientation"];
    
        //刷新
    
        [UIViewController attemptRotationToDeviceOrientation];
    
    }
    
     
    
    //MARK: -- 强制竖屏
    
    - (void)forceOrientationPortrait
    
    {
    
        AppDelegate *appdelegate=(AppDelegate *)[UIApplication sharedApplication].delegate;
    
        appdelegate.isForcePortrait=YES;
    
        appdelegate.isForceLandscape=NO;
    
        [appdelegate application:[UIApplication sharedApplication] supportedInterfaceOrientationsForWindow:self.view.window];
    
        
    
        YNCNavigationViewController *navi = (YNCNavigationViewController *)self.navigationController;
    
        navi.interfaceOrientation = UIInterfaceOrientationPortrait;
    
        navi.interfaceOrientationMask = UIInterfaceOrientationMaskPortrait;
    
        
    
        //设置屏幕的转向为竖屏
    
        [[UIDevice currentDevice] setValue:@(UIDeviceOrientationPortrait) forKey:@"orientation"];
    
        //刷新
    
        [UIViewController attemptRotationToDeviceOrientation];
    
    }
    
     
    
    #import <UIKit/UIKit.h>
    
     
    
    @interface AppDelegate : UIResponder <UIApplicationDelegate>
    
     
    
    @property (strong, nonatomic) UIWindow *window;
    
     
    
    @property (assign , nonatomic) BOOL isForceLandscape;
    
    @property (assign , nonatomic) BOOL isForcePortrait;
    
     
    
    @end
    
    AppDelegate.m
    
    -(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
    
        if (self.isForceLandscape) {
    
            return UIInterfaceOrientationMaskLandscape;
    
        }else if (self.isForcePortrait){
    
            return UIInterfaceOrientationMaskPortrait;
    
        }
    
        return UIInterfaceOrientationMaskPortrait;
    
    }
    
     
    
    @interface YNCNavigationViewController : UINavigationController
    
     
    
    //旋转方向 默认竖屏
    
    @property (nonatomic , assign) UIInterfaceOrientation interfaceOrientation;
    
    @property (nonatomic , assign) UIInterfaceOrientationMask interfaceOrientationMask;
    
     
    
    @end
    
     
    
    .m
    
    #pragma mark - 由子控制器控制自己的转屏逻辑
    
    - (BOOL)shouldAutorotate {
    
        return YES;
    
    }
    
     
    
    - (UIInterfaceOrientationMask)supportedInterfaceOrientations {
    
        return self.interfaceOrientationMask;
    
    }
    
     
    
    - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
    
        return self.interfaceOrientation;
    
    }
  • 相关阅读:
    WMware下的Linux系统安装VMtools
    VMware虚拟机安装Ubuntu图文攻略
    Python高级编程(三)
    Python高级编程(二)
    Python高级编程(一)
    纯div+css样式弹出泡泡消息框
    EF应用CodeFirst模式,数据迁移的基本用法要点摘记
    sql左连接的误区
    ExtJs,从开始接触到如今,我都觉得你好垃圾阿。。。。
    EntityFramework经典的left join语法
  • 原文地址:https://www.cnblogs.com/gongyuhonglou/p/7058599.html
Copyright © 2011-2022 走看看