ios - 如何在 iOS 11 中关闭通过 UITableView 调整大标题?

标签 ios swift uitableview ios11

iOS 11 中有这个大标题功能,当 UITableViewController 的表格滚动到顶部时显示大标题,当用户将表格从顶部滚动时折叠为标准小标题。这是标准行为。我需要导航 Controller 的行为有所不同——我需要始终显示大标题。如何实现?

下面的代码没有帮助,滚动时它仍然会折叠。

navigationController?.navigationBar.prefersLargeTitles = true
navigationItem.largeTitleDisplayMode = .always

最佳答案

我在 UIViewController 中嵌入 UITableViewController 时无意中实现了它。

我不确定这是 Apple 的错误还是预期的行为。

所以堆栈就像UINavigationController一样简单 -> UIViewController(用作容器) -> UITableViewController

这是带有嵌入式 UITableViewController 全屏 View Controller 的示例

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

    var vc = UITableViewController(style: .plain)
    var array: [String] = []

    override func viewDidLoad() {
        super.viewDidLoad()

        vc.view.translatesAutoresizingMaskIntoConstraints = false
        view.addSubview(vc.view)
        view.addConstraint(view.leadingAnchor.constraint(equalTo: vc.view.leadingAnchor))
        view.addConstraint(view.rightAnchor.constraint(equalTo: vc.view.rightAnchor))
        view.addConstraint(view.safeAreaLayoutGuide.topAnchor.constraint(equalTo: vc.view.topAnchor))
        view.addConstraint(view.bottomAnchor.constraint(equalTo: vc.view.bottomAnchor))

        vc.tableView.delegate = self
        vc.tableView.dataSource = self

        array = "0123456789".characters.map(String.init)
        vc.tableView.register(UITableViewCell.self, forCellReuseIdentifier: "identifier")

        title = "Title"
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return array.count
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "identifier", for: indexPath)
        cell.textLabel?.text = array[indexPath.row]
        return cell
    }
}

这是结果

enter image description here

希望对您有所帮助。

P.S. 令人惊讶的是,我目前的问题是我不知道如何使用这种架构获得折叠行为 :)

关于ios - 如何在 iOS 11 中关闭通过 UITableView 调整大标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46506401/

相关文章:

swift - 点击 tableview 单元格时如何更改 UIImage 颜色?

objective-c - 有关性能优化的最佳 wwdc 视频是什么?

ios - 准备 segue NSString 变成 NSObject?

ios - "' 未定义 ' is not an object"来自 React Native 中的 Native 模块

ios - UIAlertController 文本对齐

ios - 如何从 TableView 中的日期选择器加载文本框中的值

ios - 在 swift 中,为什么 true && false = 16?

ios - 为什么在 iOS10 上滑动推送通知功能不运行?

iphone - UITableViewCell 文本很长

ios - 如何知道哪个单元格打开了 UiTableViewController?