设置横竖频 设备方向 软件方向

来源:互联网 发布:淘宝上怎么买域名 编辑:程序博客网 时间:2024/05/16 03:08

[UIDevice currentDevice].orientation ==UIDeviceOrientationPortrait

获取设备的方向方法

1、UIDeviceOrientation是设备的方向,只能读取不能设置,

typedefNS_ENUM(NSInteger,UIDeviceOrientation){
    UIDeviceOrientationUnknown,
    UIDeviceOrientationPortrait,                       // Device oriented vertically, home button on the bottom
    UIDeviceOrientationPortraitUpsideDown,      // Device oriented vertically, home button on the top
    UIDeviceOrientationLandscapeLeft,             // Device oriented horizontally, home button on the right
    UIDeviceOrientationLandscapeRight,          // Device oriented horizontally, home button on the left
    UIDeviceOrientationFaceUp,                       // Device oriented flat, face up
    UIDeviceOrientationFaceDown                   // Device oriented flat, face down
};


[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];

设置软件方向

2UIInterfaceOrientation是软件的方向,可以读取可以设置。

typedefNS_ENUM(NSInteger,UIInterfaceOrientation){
    UIInterfaceOrientationPortrait          =UIDeviceOrientationPortrait,
    UIInterfaceOrientationPortraitUpsideDown=UIDeviceOrientationPortraitUpsideDown,
    UIInterfaceOrientationLandscapeLeft     =UIDeviceOrientationLandscapeRight,
    UIInterfaceOrientationLandscapeRight    =UIDeviceOrientationLandscapeLeft
};


注意:UIInterfaceOrientation的横屏的左边和右边跟UIDeviceOrientation刚好相反。

2、如果需要获取设备方向变化(UIDeviceOrientation)的消息的话,需要注册UIDeviceOrientationDidChangeNotification通知。

在注册通知时,需要先调用UIDevice的beginGeneratingDeviceOrientationNotifications方法

[[UIDevicecurrentDevice]beginGeneratingDeviceOrientationNotifications];
[notificationCenteraddObserver:selfselector:@selector(deviceOrientationDidChange)name:UIDeviceOrientationDidChangeNotificationobject:nil];

同时,在结束时,需要移除改通知消息

[notificationCenter removeObserver:self name:UIDeviceOrientationDidChangeNotification object:nil];
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];

0 0
原创粉丝点击