首页 > 解决方案 > 向下滚动并从 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
}

标签: iosswiftuitableview

解决方案


这对你有帮助!!

从 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

推荐阅读