如何仅针对一个屏幕处理 IOS Objective C 中的方向并在按下时重置
How to Handle Orientation in IOS Objective C only for one screen and reset when press
我是 IOS 开发的新手,我必须只为一个屏幕提供横向和纵向,而所有其他屏幕都应该只提供纵向。我在 AppDelegate 文件中使用以下代码并在我的屏幕中更改它。但是当我按下后退按钮之前的屏幕不会再次旋转到纵向吗?
- (UIInterfaceOrientationMask)application:(UIApplication *) application
supportedInterfaceOrientationsForWindow:(UIWindow *) window {
if (self.allowLandscape) {
return UIInterfaceOrientationMaskLandscapeLeft &
UIInterfaceOrientationMaskLandscapeRight;
}
return UIInterfaceOrientationMaskPortrait;
}
在您只想显示纵向的所有视图控制器上的 viewWillAppear 中添加以下代码。不要忘记将设备方向标记为纵向和横向模式。
NSNumber *value = [NSNumber numberWithInt:UIDeviceOrientationPortrait];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
我是 IOS 开发的新手,我必须只为一个屏幕提供横向和纵向,而所有其他屏幕都应该只提供纵向。我在 AppDelegate 文件中使用以下代码并在我的屏幕中更改它。但是当我按下后退按钮之前的屏幕不会再次旋转到纵向吗?
- (UIInterfaceOrientationMask)application:(UIApplication *) application
supportedInterfaceOrientationsForWindow:(UIWindow *) window {
if (self.allowLandscape) {
return UIInterfaceOrientationMaskLandscapeLeft &
UIInterfaceOrientationMaskLandscapeRight;
}
return UIInterfaceOrientationMaskPortrait;
}
在您只想显示纵向的所有视图控制器上的 viewWillAppear 中添加以下代码。不要忘记将设备方向标记为纵向和横向模式。
NSNumber *value = [NSNumber numberWithInt:UIDeviceOrientationPortrait];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];