【发布时间】:2017-03-31 01:38:17
【问题描述】:
当我们需要显示状态消息时,我们会在 UITableViewController view 上放置一个临时标签。该视图直接位于 UINavigationBar 下方。这很好用,但statusView 会随着表格滚动,并且会随着表格向上滚动而消失。即使表格滚动,如何修复 statusView 位置?
更新:
受another question 启发的几乎是使用 TableViewDelegate 方法来修复 statusView 位置:
override func scrollViewDidScroll(_ scrollView: UIScrollView) {
var newFrame = statusView.frame
newFrame.origin.x = 0
newFrame.origin.y = self.tableView.contentOffset.y + self.navigationController!.navigationBar.bounds.height
statusView.frame = newFrame
}
它将我们的statusView 栏放置在固定位置,但它部分位于导航栏下方。似乎我们只需要调整newFrame.origin.y 逻辑....
更新 2:
每https://stackoverflow.com/a/40202931/47281只需要包含状态栏:
newFrame.origin.y = self.tableView.contentOffset.y + self.navigationController!.navigationBar.frame.size.height + UIApplication.shared.statusBarFrame.height
【问题讨论】:
-
特定表格单元格是否需要此状态视图?如果是这样,为什么不能将其添加到单元格的视图中呢?你能分享一个屏幕截图和更多代码吗?
标签: swift uitableview uilabel