是的,我已经阅读了许多其他有关此问题的文章,但没有一种解决方案对我有用!
基本上,当我使用viewForFooterInSection和heightForFooterInSection时,结果页脚会“ float ”
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模拟器中,上面的代码可以完美运行:
我试图在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
,即使您没有工具栏内容。这将占用原点指示器后面的空间,并且桌子看起来还不错。