Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.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
Iphone 如何强制UIViewController旋转_Iphone_Ios_Ipad_Uiviewcontroller_Uikit - Fatal编程技术网

Iphone 如何强制UIViewController旋转

Iphone 如何强制UIViewController旋转,iphone,ios,ipad,uiviewcontroller,uikit,Iphone,Ios,Ipad,Uiviewcontroller,Uikit,我有一个UINavigationController,其中包含一些UIViewController。。。所有的UIVienController只能处于纵向模式 但是,在其中一个UIViewController中,我应该presentModalViewController。应允许该modalViewController在所有方向上旋转。 没有问题,除非我想关闭此modalViewController 如果在我关闭时,该modalViewController处于横向模式。parentViewCont

我有一个
UINavigationController
,其中包含一些
UIViewController
。。。所有的
UIVienController
只能处于纵向模式

但是,在其中一个
UIViewController
中,我应该
presentModalViewController
。应允许该
modalViewController
在所有方向上旋转。 没有问题,除非我想关闭此
modalViewController

如果在我关闭时,该
modalViewController
处于横向模式。
parentViewController
无法返回到纵向


如何强制旋转我的
parentViewController
?我试过一些解决办法,但没能奏效。有什么建议吗?

因为您在退出
modalviewcontroller
时使用
presentModalViewController
演示您的
modalviewcontroller
视图将显示
视图显示
方法不会被调用

您必须通过
nsnotification
委托模式调用
UIViewController
中的方法

因此,当您关闭
modalviewcontroller
时,通知您的
UIViewController
并在
yourmethod
中调用
yourmethod
检测当前方向,如果不是纵向,则将其更改为纵向

-(void) yourmethod 
{
    if ([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeLeft || [[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeRight )
    {
       [[UIApplication sharedApplication] setStatusBarHidden:NO];
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];
    } 

} 

您到底尝试了什么?我尝试只允许一个UIViewController用于所有方向,并且此UIViewController应显示为模态。ViewWillDisplay和ViewDidDisplay在关闭后调用。。。将状态栏方向设置为纵向只会将状态栏置于纵向模式,而不是所有viewController。这意味着您使用的是以前版本的IOS 5-,因为在IOS 5和更高版本中,当您关闭modalview时,viewWillAppear不会被调用。viewWillAppear在RootViewController中被调用如果我关闭我的ModalViewController,请检查您所说的。我和你一样在6号迷失中,这很有效。。。我刚测试过。