• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - iPhone如何显示不同的 View Controller 以响应设备旋转?

[复制链接]
菜鸟教程小白 发表于 2022-12-13 02:42:32 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我注意到大多数对消费者友好的 Android 和 iPhone 健身应用程序都有两种界面模式 - 在纵向模式下,用户可以获得更详细的信息,但当用户将设备切换到横向模式时,会添加一个全屏图形覆盖整个屏幕。

我对如何实现转换到不同的 View Controller 以响应 iPhone 上的设备旋转感兴趣。 我最初的想法是拦截 (willRotateToInterfaceOrientation 事件,然后获取应用委托(delegate)并添加一个全屏图形 View Controller 到窗口)。

有没有更好的方法将 iPhone 旋转转换为另一个 View Controller ?就像隐藏状态栏并在带有动画的横向模式下推送模态视图 Controller ?



Best Answer-推荐答案


首先问问自己是否真的需要一个单独的 View Controller 。一个 View Controller 可以轻松隐藏或取消隐藏图形。 如果此图需要自己的 View Controller ,那么您可以使用包含引用其自己的 View Controller 的图的容器 View 。这就是容器 View 的用途。 然后,“主” View Controller 将隐藏和取消隐藏容器 View 以响应旋转事件(并相应地对其进行布局等。)

如果您更喜欢在其 super View 中添加或删除容器 View (从“主” View Controller 的角度来看很可能是 self.view),那么就这样做而不是隐藏和取消隐藏。这可能是最合适的。

这种方法的好处在于,无论您处于何种导航结构,无论旋转的 View Controller 是被推送还是模态呈现,无论您是在标签栏驱动的应用程序还是单个 View 中,它都可以工作应用程序,无论您使用的是 Storyboard,还是与 IB 一起使用以及以编程方式等等。pp。

从应用程序的委托(delegate)中获取窗口实例没有任何问题。我只是不认为有必要这样做。与其他选择相比,我觉得相当复杂。

关于ios - iPhone如何显示不同的 View Controller 以响应设备旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16693310/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap