Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c iOS面临定位问题_Objective C_Ios_Xcode_Orientation - Fatal编程技术网

Objective c iOS面临定位问题

Objective c iOS面临定位问题,objective-c,ios,xcode,orientation,Objective C,Ios,Xcode,Orientation,当设备放在桌子上时,如UIDeviceOrientationFaceUp,是否有办法区分横向和纵向?我有两个不同的xib文件,根据用户手持设备的方式在它们之间切换。但当我将设备放在横向位置,然后将设备放下时,问题就出现了。设备保持横向,但将加载纵向xib文件。如果在我的编码中,我将UIDeviceOrientation正面与横向耦合,那么问题就会相反:然后,当设备仍处于纵向时,我会让横向视图显示出来 有没有办法确定设备是否仍然显示横向或纵向?我试过检查帧宽,但它声称它是768,即使设备在横向平面

当设备放在桌子上时,如UIDeviceOrientationFaceUp,是否有办法区分横向和纵向?我有两个不同的xib文件,根据用户手持设备的方式在它们之间切换。但当我将设备放在横向位置,然后将设备放下时,问题就出现了。设备保持横向,但将加载纵向xib文件。如果在我的编码中,我将UIDeviceOrientation正面与横向耦合,那么问题就会相反:然后,当设备仍处于纵向时,我会让横向视图显示出来


有没有办法确定设备是否仍然显示横向或纵向?我试过检查帧宽,但它声称它是768,即使设备在横向平面上。而且我无法在设备变平时强制进行定向,我听说这是应用商店拒绝的原因。

你不能这样做。当手机放在桌子上时,加速计无法分辨用户坐在手机的哪一侧。您可以使用陀螺仪(和指南针)测量绕其轴的旋转,但这仍然不能告诉您用户不幸的位置。

有一种方法可以检查它

UIDeviceOrientation deviceOrientation=[[UIDevice currentDevice]定向];
UIInterfaceOrientation statusBarOrientation=[UIApplication sharedApplication]。statusBarOrientation

使用第一个按钮检查设备是否面朝上,第二个按钮将告诉您设备是纵向还是横向。

重力不起作用。;)是 啊不过现在我有点头疼,我特别需要这两种观点,这真的让整个事情变得很棘手。其他一切都完美无瑕,只是这一个案例失败了。我发现很难相信有什么内在的东西是不令人头痛的,我想我不是第一个遇到这种情况的人。