首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式在UIStatusBar下创建具有大标题瀑布的UIStatusBar

以编程方式在UIStatusBar下创建具有大标题瀑布的UIStatusBar
EN

Stack Overflow用户
提问于 2017-10-13 10:06:47
回答 2查看 579关注 0票数 2

我正在以编程方式创建一个UINavigationController

代码语言:javascript
复制
navigationController = UINavigationController(rootViewController: modeSelectVC!)
navigationController?.delegate = self

window.rootViewController = navigationController
window.makeKeyAndVisible()

然后,我定制了我的UINavigationBar外观如下:

代码语言:javascript
复制
navigationBarAppereance.barTintColor = UIColor.ColorPalette.bostonUniversityRed
navigationBarAppereance.tintColor = UIColor.ColorPalette.eerieBlack
navigationBarAppereance.barStyle = .black
navigationBarAppereance.isTranslucent = true
navigationBarAppereance.prefersLargeTitles = true
navigationBarAppereance.largeTitleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.ColorPalette.babyPowder]

配置的UINavigationBar隐藏在与状态栏一起提供的rootViewController中,但是当rootViewController推送另一个视图控制器时,状态栏和导航条都变得可见,如下所示:

其结果是,正如我编程它是,但你也可以看到,上面,back按钮是错对齐的。如果我放弃大标题优先,那么后退按钮正确地对齐,但为什么它会错时,大标题被使用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-22 15:38:41

我解决了这个问题。当我在初始视图控制器上启用状态栏后,无论出现什么,导航栏和状态栏都将正确显示。

我仍然不知道是什么导致了这个问题(如果这是我的实现错误还是文档的错误),但是处理UINavigationBar可能会很棘手!

票数 2
EN

Stack Overflow用户

发布于 2017-10-13 10:43:22

对于这个here,有一个很好的答案:

您应该将导航条的顶部固定在状态栏的底部,并使用UIBarPositioningDelegate机制将其位置设置为.topAttached,这将使其在状态栏下正确伸展。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46727427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档