我有一个聊天应用程序,我试图在用户滚动到顶部时显示我制作的自定义 View ,如果它位于表格 View 的底部,也会将其隐藏。 (就像 whatsapp 一样)
老实说,我正在为显示/隐藏按钮的逻辑而苦苦挣扎。 尝试在重新加载数据后立即保存我的 tableview 的 contentOffset.y,这样我就知道那是底部,如果显示自定义 View 较小,但 mainTableView.contentOffset.y 始终为 0。
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
if (scrollView == mainTableView) {
print(mainTableView.contentOffset.y)
if let point = startingPointForView {
//where var startingPointForView: CGFloat?
// and tried to save it after I reload the data
//self.startingPointForView = self.mainTableView.contentOffset.y
// but it's always 0
}
// Show and hide button logic
}
}
我想要实现的目标的图像:https://imgur.com/ZkYEi2P
最佳答案
尝试使用此代码根据 UIscrollview
contentOffset
隐藏/显示自定义 View
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let scrollViewContentHeight = scrollView.contentSize.height
let scrollViewHeight = scrollView.frame.height
if scrollView.contentOffset.y < (scrollViewContentHeight - scrollViewHeight){
//Custom view show
}else{
//Custom view Hide
}
}
关于ios - 如何根据 tableview 的 contentOffset 显示/隐藏自定义 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54647973/