[英]Inexplicable behavior of Xcode UITableView
有一个带有 TableView 的简单应用程序,在代码中我创建了一个 FooterView(里面有一个按钮)和一个 HeaderView(里面有一个 UICollectionView)。 使用选定的模拟器 Iphone 11,12, X - 一切正常,FooterView 和 HeaderView 的大小与给定的匹配。 但是如果我 select IphoneSE - 尺寸 go 误入歧途,FooterView 完全消失,HeaderView 变得微观。 请帮忙
private func configureUITableViewFooter(){
let footerView = UINib(nibName: "FooterView",
bundle: .main).instantiate(withOwner: nil, options: nil).first as! FooterView
footerView.delegate = self
footerView.frame = CGRect(x: 0, y: 0, width:self.view.bounds.width, height: 200)
OrderTableView.tableFooterView = footerView
}
private func configureUITableViewHeader() {
let headerView = UINib(nibName: "HeaderView", bundle: nil).instantiate(withOwner: nil, options: nil).first as! HeaderView
headerView.delegate = self
headerView.dataForHeaderCollectionViewCell = selectedObject
headerView.configureView()
headerView.frame = CGRect(x: 0, y: 0, width:self.view.bounds.width, height: self.view.frame.height/3)
OrderTableView.tableHeaderView = headerView
}
override func viewDidLoad() {
super.viewDidLoad()
OrderTableView.register(UINib(nibName: "OrderTableViewCell", bundle: nil), forCellReuseIdentifier: "OrderTableViewCell")
self.viewModel = ViewModel(data: selectedObject!)
configureNavigationController()
configureUITableViewHeader()
configureUITableViewFooter()
}
小伙伴们,你们觉得是怎么回事?
这是因为在您的 storyboard 或 viewController 的 xib 文件中显示为 iphone 12 的大小。在 viewDidLoad 中,tableView 大小以 iphone 12 中的大小加载,因此在 iphone 12 或其他具有相同大小的设备中它们显示正确,并且在 iphone SE 中,它们显示不正确。 当 tableView 大小正确时,尝试设置 header 和页脚,例如可能在 ViewDidAppear
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.