Swift 将UILabel位置固定在UITableViewController';s UINavigationBar
当需要显示状态消息时,我们将在UITableViewControllerSwift 将UILabel位置固定在UITableViewController';s UINavigationBar,swift,uitableview,uilabel,Swift,Uitableview,Uilabel,当需要显示状态消息时,我们将在UITableViewController视图上放置一个临时标签。视图直接位于UINavigationBar下方。这很好,但是statusView会随着表格一起滚动,并随着表格向上滚动而消失。即使在表格滚动时,如何固定statusView位置 更新: 其灵感来自于使用TableViewDelegate方法固定statusView位置: override func scrollViewDidScroll(_ scrollView: UIScrollView) {
视图上放置一个临时标签。视图直接位于UINavigationBar下方。这很好,但是statusView
会随着表格一起滚动,并随着表格向上滚动而消失。即使在表格滚动时,如何固定statusView位置
更新:
其灵感来自于使用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
}
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:
Per仅需要包含状态栏:
newFrame.origin.y = self.tableView.contentOffset.y + self.navigationController!.navigationBar.frame.size.height + UIApplication.shared.statusBarFrame.height
您可以尝试使用ViewController子类并向其添加UITableView,而不是子类化UITableViewController 以上每个更新解决方案的灵感来自-我们使用TableViewDelegate scrollViewDidScroll来修复位置:
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
}
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
}
特定表格单元格是否需要此状态视图?如果是这样,为什么不能将其添加到单元格的视图中?你能分享一个截图或者更多的代码吗?