处理前一个 UIViewController 的方向

发布于 2024-11-09 17:21:00 字数 348 浏览 1 评论 0原文

我正在开发一个 iPhone 应用程序。我的活动 UIViewController 是 vc1。 vc1 的 shouldAutorotateToInterfaceOrientation 方法返回 YES,因此会自动为其视图处理设备方向。

添加到此视图的所有子视图都已正确设置自动调整大小蒙版以适应方向。

视图的框架不会更新以适应以下情况的方向:

  1. 推另一个 UIViewController 说 vc2
  2. 更改设备方向
  3. 弹出 vc2

新方向不会反映在 vc1 的视图中。

我可以注册方向更改通知并手动将框架设置为视图。有什么方法可以自动处理这个问题吗?

I am developing an iPhone application. My active UIViewController is vc1. The shouldAutorotateToInterfaceOrientation method of vc1 returns YES and hence the device orientation is handled for its view automatically.

All the subviews added to this view has autoresizing masks set properly to fit the orientation.

The view's frame is not updated to fit the orientation for the following scenario:

  1. Push another UIViewController say vc2
  2. change the device orientation
  3. pop vc2

The new orientation is not reflected for view of vc1.

I can register for orientation change notification and manually set the frame to the view. Is there any way that handles this automatically?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

伏妖词 2024-11-16 17:21:00

我也这么做了。我认为没有任何方法可以自动执行此操作。

您可以发送有关设备方向的通知,或者可以在 ViewWillAppear 中检查当前设备方向并相应地设置框架。

I did the same. I don't think there is any way you can do this automatically.

You can probably send in a notification about the device orientation or you can check the current device orientation in ViewWillAppear and set the frame accordingly.

梨涡 2024-11-16 17:21:00

您的应用程序 viewController 结构到底是什么?
确保您使用的是navigationController(如果您愿意,可以隐藏navigationBar)。那么它应该就可以工作了。

What exactly is your app viewController structure?
Make sure you are using a navigationController (you can have the navigationBar hidden if you like). Then it should just work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文