首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在滚动之前,iOS 11 prefersLargeTitles不会更新

在滚动之前,iOS 11 prefersLargeTitles不会更新
EN

Stack Overflow用户
提问于 2017-06-09 10:00:33
回答 25查看 29.9K关注 0票数 58

我用包装在UINavigationController中的UITableView实现了一个基本的UIViewController。我设置prefersLargeTitles为true:

代码语言:javascript
复制
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    navigationController?.navigationBar.prefersLargeTitles = true
    navigationItem.title = "Coffees"
}

但是,标题会一直保持较小,直到我滚动视图,此时它才会放大。我尝试将该调用移到创建UINavigationController的位置,但没有任何效果。我确信当我设置navigationController时,它不是空的。

prefersLargeTitles..。

我是否应该在其他地方更新该属性?或者我应该提交一份雷达报告?

更新:

这似乎只有在我的视图包含UITableView或者它本身是一个UITableViewController

EN

回答 25

Stack Overflow用户

回答已采纳

发布于 2017-12-07 03:12:16

我也有同样的问题。虽然你没有使用故事板,但我希望这能对某些人有所帮助。我选中了嵌入TableViewController的导航控制器(而不是视图控制器)的“首选大标题”。在导航控制器转动之后,所有的视图控制器都有很大的标题,并且它应该可以工作。

票数 36
EN

Stack Overflow用户

发布于 2018-11-06 11:28:44

我最近遇到了同样的问题,但没有一个建议对我有效。相反,我所需要做的就是调用sizeToFit()..。示例代码:

代码语言:javascript
复制
private func configureNavigator() {
    guard let navigationController = navigationController else { return }
    navigationController.navigationBar.prefersLargeTitles = true
    navigationItem.largeTitleDisplayMode = .automatic
    navigationController.navigationBar.sizeToFit()
}

我希望这能有所帮助!

票数 50
EN

Stack Overflow用户

发布于 2019-12-13 15:44:53

对我来说,唯一可行的解决方案是:

代码语言:javascript
复制
DispatchQueue.main.async { [weak self] in
    self?.navigationController?.navigationBar.sizeToFit()
}

代码语言:javascript
复制
viewWillAppear()
票数 45
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44448145

复制
相关文章

相似问题

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