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;
    
    }
  • 相关阅读:
    工具类网站收藏
    NodeJS 后端 解决 OPTIONS 请求 404 (Not Found)
    Linux scp 指令
    API及工具类页面链接
    JavaScript正则
    Git 常用
    React组件属性类型(propTypes)
    Meta http-equiv属性详解(转)
    js 刷新页面window.location.reload();
    XHTML标签的嵌套规则分析
  • 原文地址:https://www.cnblogs.com/gongyuhonglou/p/7058599.html
Copyright © 2011-2022 走看看