我希望能够改变方向只编程。写函数,旋转屏幕,因为我想要的。
UIInterfaceOrientation toIOSOrientation(ScreenOrientation desiredOrientaion) {
if (desiredOrientaion == ScreenOrientation::Landscape || desiredOrientaion == ScreenOrientation::LandscapeReversed) {
return UIInterfaceOrientation::UIInterfaceOrientationLandscapeLeft;
} else if (desiredOrientaion == ScreenOrientation::Portrait) {
return UIInterfaceOrientation::UIInterfaceOrientationPortrait;
} else {
return UIInterfaceOrientation::UIInterfaceOrientationPortrait;
}
}
void iOSTools::changeOrientation(ScreenOrientation desiredOrientaion) {
NSNumber* value = [NSNumber numberWithInt:toIOSOrientation(desiredOrientaion)];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
[UIViewController attemptRotationToDeviceOrientation];
}
但是我必须打开应用程序清单中的两个方向:
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
</array>
如果我这样做,用户可以使用这两个方向。如果我想禁止这一点,我必须重写this函数,但我应该如何在Qt中这样做?
1条答案
按热度按时间9fkzdhlc1#
在应用代理中,您可以尝试添加此函数,将should rotate作为全局值,无论何时应用方向锁定,我们都可以将should rotate设置为false,它将处于纵向模式。如果您不应用方向锁定,我们可以将rotate设置为true,它可以在所有状态下旋转。