您的位置:首页 > 其它

iphone之判断屏幕方向

2013-07-26 14:31 190 查看
有两种方法可以判断

1,程序刚开始运行的时候,不能获取当前方向。给你说几种方式,你试一下: 1. 可以在启动后0.01秒执行初始化的代码,这个时候就可以获取设备方向了。

2. 另外一种方式,借助状态栏的方向:

UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];

3. 你可以通过获取控件所属controller的界面方向,使得相关控件的方向与其controller的方向是一致的,而无需理会当前的设备方向究竟是什么。控制器的界面方向可由其interfaceOrientation属性获得。 例如:

if (self.interfaceOrientation == UIDeviceOrientationPortrait)

就可以判断程序启动时是不是在protrait方向上了。

if(self.interfaceOrientation== UIDeviceOrientationPortrait ||self.interfaceOrientation== UIDeviceOrientationPortraitUpsideDown)

{//正

else

{//反

}

2,以下这种方法发现在模拟器上测试刚启动app后是无法得到设备方向的。 获取的结果是UIDeviceOrientationUnknown。The value of this property always returns 0 unless orientation notifications have been enabled by calling beginGeneratingDeviceOrientationNotifications. 有的说是只能在真机上才可以。

UIDevice *device = [UIDevicecurrentDevice];

if(device.orientation== UIInterfaceOrientationPortrait || device.orientation== UIInterfaceOrientationPortraitUpsideDown)

{//正

else

{//反

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: