当设备的当前方向是面朝上还是面朝下时,是否有可能将设备方向自动旋转为纵向?
答案 0 :(得分:1)
您可以使用此技巧使系统随时刷新控制器方向:
[self presentViewController:[UIViewController new] animated:NO completion:NULL];
[self dismissViewControllerAnimated:NO completion:NULL];
这会在您的控制器上调用supportedInterfaceOrientations
。
当设备方向朝上或朝下时,只需返回UIInterfaceOrientationMaskPortrait
,您的控制器视图就会相应调整。
观察UIDeviceOrientationDidChangeNotification
以便在收到和通知面朝上/朝下设备方向时使用该技巧,因为这些方向与{{1}不对应} s(并且不会触发UIInterfaceOrientation
)。
设备和界面方向定义:
supportedInterfaceOrientations
答案 1 :(得分:0)
您不会改变方向。相反,您告诉iOS您支持哪些方向,因此当用户旋转设备时,iOS会将UI方向切换为应用程序支持的方向。 UI方向应仅在用户旋转设备时更改。
答案 2 :(得分:0)
在 - (void)viewWillApper方法
中使用此代码if(self.interfaceOrientation==UIInterfaceOrientationPortrait||self.interfaceOrientation==UIInterfaceOrientationPortraitUpsideDown)
{
//do something;
}
else
{
}
答案 3 :(得分:0)
您可以通过在项目设置中设置适当的值来禁用或启用纵向模式下的屏幕旋转(目标 - >常规 - >部署信息部分)。
或