ios - 向下滚动并从 UITableViewController 返回时,导航栏标题变小
问题描述
从带有滚动的表格视图返回时,主导航栏变小。谁能告诉我实现大标题的正确方法?
视频示例 https://i.imgur.com/zoATpja.gif
视图控制器
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.navigationController?.navigationBar.prefersLargeTitles = true
}
目的地视图控制器
let reuseIdentifier = "cell"
let array = ["Test 1","Test 2","Test 3"]
override func viewDidLoad() {
self.title = "TableView"
self.navigationItem.largeTitleDisplayMode = .never
self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: reuseIdentifier)
self.tableView.delegate = self
self.tableView.dataSource = self
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return array.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: reuseIdentifier, for: indexPath)
cell.textLabel?.text = array[indexPath.row]
return cell
}
解决方案
这对你有帮助!!
从 viewDidLoad() 调用此方法
/**
In Swift 4.2
*/
func setupNavBar() {
self.title = "titleName"
self.navigationController?.navigationBar.prefersLargeTitles = true
self.navigationController?.navigationItem.largeTitleDisplayMode = .always
}
在 DestinationView Controller 中,将这两行放在 ViewDidLoad 方法中。
self.navigationItem.largeTitleDisplayMode = .never
self.navigationController?.navigationBar.prefersLargeTitles = false
推荐阅读
- symfony4 - Symfony 4.3.5 - 更新父关系的表单生成器和错误验证
- file-format - 如何解析这个 Apple 特定的 MPEG 文件头?
- javascript - 在模块中模拟函数时遇到问题
- selenium - 在 Robot Framework 中选择文件时发生 ElementNotInteractableException
- php - 在 ubuntu 容器上添加 mysql 数据库
- spring-boot - 修改查询只能使用 void 或 int/Integer 作为返回类型
- python-3.x - 如何修复 TypeError:“NoneType”和“int”实例之间不支持“>”
- blazor - 来自子组件的 Blazor onclick 不会导致重新渲染
- python - python smtpd 是否支持 TLS?
- python - 如何按熊猫数据框中每天的时间戳分组并将其写入csv?