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

3
我快疯了。我有两个支持设备方向的视图控制器(A和B)。
  • 在A中,以竖屏模式模态呈现B => 正常工作
  • 在A中,以横屏模式模态呈现B => 不正常工作
  • 当在B中更改设备方向并关闭它时 => 不正常工作
“不正常工作”指的是显示的屏幕与预期不符(图形对象没有放置在应该放置的位置上,或者没有出现在屏幕上)。我不知道该怎么做才能防止这种情况发生。
请帮帮我!
1个回答

0

进入界面 Boulder,在大小检查器中为您的视图设置自动调整规则。不要忘记将它们设置为自动调整。 此外,您可以使用 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 方法,在设备方向更改时设置您的视图坐标。


谢谢SentineL的建议。不过我已经在做那个了。如果你愿意,当我在我的某个视图控制器中改变设备方向时,可以正确地调整和放置视图中的对象。问题出现在我从一个视图控制器移动到另一个视图控制器时(使用presentModalViewController和dismissViewController)。 - Niko
尝试在viewWillAppear中调用(BOOL)shouldAutorotateToInterfaceOrientation。 - SentineL
我尝试了但仍然不起作用。当我关闭视图控制器B时,在视图控制器A中按顺序调用:shouldAutorotateToInterfaceOrientation:UIDeviceOrientationPortrait(这是我呈现B视图控制器时的设备方向)。然后是viewWillAppear。在其中,我添加了[self shouldAutorotateToInterfaceOrientation:[UIApplication sharedApplication] .statusBarOrientation]; 因此,shouldAutorotateToInterfaceOrientation:UIDeviceOrientationLandscape被调用(我关闭B视图控制器时的设备方向)。但实际上,发生了相同的情况。希望不要太混淆^^ - Niko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接