是的,我已经阅读了许多其他有关此问题的文章,但没有一种解决方案对我有用!

基本上,当我使用viewForFooterInSection和heightForFooterInSection时,结果页脚会“ float ”

ios - viewForFooterInSection是否不使UITableView页脚坚持到底?-LMLPHP

viewDidLoad和FooterView代码:

override func viewDidLoad() {
    super.viewDidLoad()
    setupNaviationBarStyles()
    setUpNavBarButtons()
    navigationItem.title = "Kindle"
    tableView.register(BookCell.self, forCellReuseIdentifier: "cellId")
    tableView.backgroundColor = UIColor.lightGray
    fetchBooks()
}

 override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    let view = UIView()
    view.backgroundColor = .red
    return view
}

 override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    return 50
}

问题似乎特定于iPhone x?在iPhone 7模拟器中,上面的代码可以完美运行:

ios - viewForFooterInSection是否不使UITableView页脚坚持到底?-LMLPHP

我试图在viewDidLoad中创建一个自定义 View ,就像建议了许多其他线程一样,但是还没有这样的运气:
let view: UIView = UIView(frame: CGRect(x: 0, y: 0, width:
tableView.frame.size.width, height: 40))
view.backgroundColor = .red
self.tableView.tableFooterView = view

我非常感谢您提供有关此问题的帮助,似乎该解决方案可能很简单,但我已经进行了一段时间的研究,并且在使用iPhone x进行模拟时还没有发现任何有效的方法。

干杯!

最佳答案

这是苹果的错误,而不是您的错误。他们完全没有考虑过iPhone X的含义。

您真正能做的就是将导航 Controller 的isToolbarHidden设置为false,即使您没有工具栏内容。这将占用原点指示器后面的空间,并且桌子看起来还不错。

07-27 22:24
查看更多