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

ios - 在 ios 6 的导航/底栏下转换为 ios 7 的 View

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

我有一个使用 Storyboard、导航 Controller 和自动布局的应用程序,在 io6 下运行良好,我希望能够在 ios6 和 ios7 下运行。

我已经使用 xcode5 转换了应用程序,现在它在 ios7 下运行良好,但是当我在 ios 6 下运行它时,导航栏和底部栏现在是透明的(它们最初不是)并且 View 在它们下面流动 - 隐藏了一些的控件。即使我将 ios7 应用程序转换为不在这些栏下流动(通过设置 Extend Edges/Under Top Bars 和 Under Bottom Bars OFF),这种情况仍然存在。

我已经解决了这个问题,允许 ios7 在条形图下流动 View (Apple 无论如何都希望我们这样做),然后将以下代码添加到第一个 View Controller 的 viewDidLoad 方法中,以强制 ios6 不使用透明条形图.

if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {
    self.navigationController.navigationBar.barStyle = UIBarStyleBlackOpaque;
    self.navigationController.toolbar.barStyle = UIBarStyleBlackOpaque;
}

这似乎有效,但我不明白为什么我需要这样做,我担心我缺少一些基本的东西。

编辑:我对这个“解决方案”的另一个担忧是,在 ios6 下的 xcode5 中的预览不能准确反射(reflect)布局,因为它在 ios 6 下的模拟器下运行(我没有手边真正的 ios6 设备此刻测试它)。 xcode5 中的新预览功能似乎假定 ios 6 不会在顶部和底部栏下流动 View ,因此会将控件挤压在一起以适应可用空间。

阿里



Best Answer-推荐答案


不管操作系统版本如何,都试试这个(它最近解决了我一个类似的问题):

self.navigationController.navigationBar.translucent = NO;
self.navigationController.toolbar.translucent = NO;

关于ios - 在 ios 6 的导航/底栏下转换为 ios 7 的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18935079/

回复

使用道具 举报

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

本版积分规则

关注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