zoukankan      html  css  js  c++  java
  • iOS 强制转成横屏的方式 和 通过设备的状态来切换屏幕

    强制转成横屏:

    if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) {
                SEL selector = NSSelectorFromString(@"setOrientation:");
                NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[UIDevice instanceMethodSignatureForSelector:selector]];
                [invocation setSelector:selector];
                [invocation setTarget:[UIDevice currentDevice]];
                int val = UIInterfaceOrientationLandscapeRight;
                [invocation setArgument:&val atIndex:2];
                [invocation invoke];
            }
    }
    

     方法二: 通过判断状态栏来设置视图的transform属性。

    - (void)deviceOrientationDidChange: (NSNotification *)notification
    
    {
    
        UIInterfaceOrientation interfaceOrientation = [[UIApplication sharedApplication] statusBarOrientation];
    
        CGFloat startRotation = [[self valueForKeyPath:@"layer.transform.rotation.z"] floatValue];
    
        CGAffineTransform rotation;
    
        switch (interfaceOrientation) {
    
            case UIInterfaceOrientationLandscapeLeft:
    
                rotation = CGAffineTransformMakeRotation(-startRotation + M_PI * 270.0 / 180.0);
    
                break;
    
            case UIInterfaceOrientationLandscapeRight:
    
                rotation = CGAffineTransformMakeRotation(-startRotation + M_PI * 90.0 / 180.0);
    
                break;
    
            case UIInterfaceOrientationPortraitUpsideDown:
    
                rotation = CGAffineTransformMakeRotation(-startRotation + M_PI * 180.0 / 180.0);
    
                break;
    
            default:
    
                rotation = CGAffineTransformMakeRotation(-startRotation + 0.0);
    
                break;
    
        }
    
        view.transform = rotation;
    
    }
    
  • 相关阅读:
    [leedcode 155] Min Stack
    [leedcode 154] Find Minimum in Rotated Sorted Array II
    [leedcode 153] Find Minimum in Rotated Sorted Array
    [leedcode 151] Reverse Words in a String
    [leedcode 150] Evaluate Reverse Polish Notation
    [leedcode 149] Max Points on a Line
    maven记录
    intelij idea常用功能介绍
    intelij idea设置和使用git
    intelij idea模板
  • 原文地址:https://www.cnblogs.com/IOS-FU/p/4210307.html
Copyright © 2011-2022 走看看