首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >prefersLargeTitles不适用于编程布局

prefersLargeTitles不适用于编程布局
EN

Stack Overflow用户
提问于 2018-01-20 04:14:39
回答 5查看 3.5K关注 0票数 7

我试图以编程方式添加一个表视图,但没有显示大标题。

下面是我的代码:

代码语言:javascript
复制
self.view.addSubview(module.tableView)

module.view.translatesAutoresizingMaskIntoConstraints = false

if #available(iOS 11.0, *) {
    NSLayoutConstraint.activate([
        module.view.topAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.topAnchor, constant: 0),
        module.view.bottomAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.bottomAnchor, constant: 0),
        module.view.leadingAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.leadingAnchor, constant: 0),
        module.view.trailingAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.trailingAnchor, constant: 0)
    ])
}

注意:在视图控制器中启用大标题

代码语言:javascript
复制
if #available(iOS 11.0, *) {
    navigationController?.navigationBar.prefersLargeTitles = true
    navigationItem.largeTitleDisplayMode = .always
}

也许这很重要:我正在尝试添加一个表作为子视图控制器。我的子控制器是一个UITableViewController。如果我在viewDidLoad()中添加子视图,大标题会显示,但不会滚动。

下面是我要添加子模块的link to file。详细说明您可以在addChild(module:)方法中看到的问题或here代码。

请让我知道如何修复这个bug。

EN

回答 5

Stack Overflow用户

发布于 2019-02-05 05:37:51

我使用的是程序化布局,遇到了类似的问题。我在这里找到了解决方案:https://stackoverflow.com/a/46692583/131378。在viewDidLoad()中,我必须时断时续地切换largeTitleDisplayMode。这是正确的组合,让大标题与滚动功能一起工作:

代码语言:javascript
复制
self.navigationItem.largeTitleDisplayMode = .never
self.navigationItem.largeTitleDisplayMode = .always
票数 2
EN

Stack Overflow用户

发布于 2018-01-20 04:19:17

在配置表视图的视图控制器的viewDidLoad方法中启用大标题。

代码语言:javascript
复制
if #available(iOS 11, *) {
    self.navigationController?.navigationBar.prefersLargeTitles = true
}
票数 1
EN

Stack Overflow用户

发布于 2018-01-27 19:05:26

将您的iOS Deployment Target更新为11.0或更高版本。目前,它在10.3。这就是为什么你看不到大标题的原因。

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

https://stackoverflow.com/questions/48348837

复制
相关文章

相似问题

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