您的位置:首页 > 移动开发 > IOS开发

iOS手机屏幕朝向和简单的获取屏幕方向的方法

2017-08-02 10:48 447 查看
1、对于iOS手机屏幕,苹果公司给出了一个枚举。
如:typedefNS_ENUM(NSInteger,
UIDeviceOrientation) {
    UIDeviceOrientationUnknown,
    UIDeviceOrientationPortrait,           // 竖向,home键向下
    UIDeviceOrientationPortraitUpsideDown, // 竖向,home键向上
    UIDeviceOrientationLandscapeLeft,      // 横向,home键向右
    UIDeviceOrientationLandscapeRight,     // 横向,home键向左
    UIDeviceOrientationFaceUp,             // 屏幕平放,向上
    UIDeviceOrientationFaceDown            // 屏幕平放,向下
}

typedef NS_ENUM(NSInteger, UIInterfaceOrientation) {

    UIInterfaceOrientationUnknown            = UIDeviceOrientationUnknown,

    UIInterfaceOrientationPortrait           = UIDeviceOrientationPortrait,

    UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown,

    UIInterfaceOrientationLandscapeLeft      = UIDeviceOrientationLandscapeRight,

    UIInterfaceOrientationLandscapeRight     = UIDeviceOrientationLandscapeLeft

}
2、对于获取手机屏幕
(1) [[UIDevicecurrentDevice]beginGeneratingDeviceOrientationNotifications];
   
dispatch_async(dispatch_get_main_queue(),
^{
       
NSLog(@"=========%zd",[[UIDevicecurrentDevice]orientation]);
    });
    [[UIDevicecurrentDevice]endGeneratingDeviceOrientationNotifications];
(2)UIInterfaceOrientation orientation
= [UIApplicationsharedApplication].statusBarOrientation;

3、对于当前手机是不是横屏或者竖屏的判断
(1)判断是否是竖屏
staticinlineBOOL
UIDeviceOrientationIsPortrait(UIDeviceOrientation orientation){
   
return ((orientation) ==UIDeviceOrientationPortrait
|| (orientation) ==UIDeviceOrientationPortraitUpsideDown);
}
(2)判断是否是横屏
staticinlineBOOL
UIDeviceOrientationIsLandscape(UIDeviceOrientation orientation){
   
return ((orientation) ==UIDeviceOrientationLandscapeLeft
|| (orientation) ==UIDeviceOrientationLandscapeRight);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: