iPhone模态视图控制器和设备方向

iPhone模态视图控制器和设备方向,iphone,modalviewcontroller,uiinterfaceorientation,presentmodalviewcontroller,device-orientation,Iphone,Modalviewcontroller,Uiinterfaceorientation,Presentmodalviewcontroller,Device Orientation,我快疯了。我有两个支持设备方向的视图控制器(A和B) 在纵向模式下,我以模态方式呈现B=>工作正常 在横向模式中,我以模态表示B=>不工作 在B中时,如果我更改设备方向并关闭它=>不工作 “不工作”是指显示的屏幕不符合预期(图形对象未放置在其应放置的位置,或未显示在屏幕上)。我不知道我应该做什么来防止这种情况发生 请帮忙 进入interface boulder,在size inspector中,为视图设置自动调整大小规则。别忘了将它们设置为自动调整大小。 因此,您可以使用-(BOOL)sho

我快疯了。我有两个支持设备方向的视图控制器(A和B)

  • 在纵向模式下,我以模态方式呈现B=>工作正常
  • 在横向模式中,我以模态表示B=>不工作
  • 在B中时,如果我更改设备方向并关闭它=>不工作
“不工作”是指显示的屏幕不符合预期(图形对象未放置在其应放置的位置,或未显示在屏幕上)。我不知道我应该做什么来防止这种情况发生


请帮忙

进入interface boulder,在size inspector中,为视图设置自动调整大小规则。别忘了将它们设置为自动调整大小。
因此,您可以使用-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation方法在设备方向更改时设置视图坐标

谢谢SentineL。但我已经这么做了。如果需要,我在我的一个视图控制器中,更改设备方向可以正确调整视图中的对象大小和位置。当我从一个视图控制器移动到另一个视图控制器(使用presentModalViewController和dismissViewController)尝试调用-(BOOL)shouldAutorotateToInterfaceOrientation in ViewWillAppari已尝试但仍不工作时,会出现此问题。当我关闭视图控制器B时。视图中的控制器A按以下顺序调用:shoulldAutoRotateTointerFaceOrientation:UIDeviceOrientationGrait(这是我显示B视图控制器时的设备方向)。然后将显示视图。在内部,我添加了[self-shouldAutorotateToInterfaceOrientation:[UIApplication sharedApplication].statusBarOrientation];也就是所谓的shouldAutorotateToInterfaceOrientation:UIDeviceOrientationAndscape(我在解除B视图控制器时的设备方向)。但事实上,同样的情况也发生了。希望不要混淆^^