我有一个textView,它的文字内容会增加。 我想知道如何设置bool值,如isTextViewScrollToBottom:Bool 当textView滚动到底部时,isTextViewScrollToBottom = true 当textView离开底部时,则isTextViewScrollToBottom = false
现在,我只知道可以使用scrollViewDelegate func,如:
scrollViewDidEndDecelerating(_ scrollView:UIScrollView),
scrollViewWillBeginDragging(_ scrollView:UIScrollView),
scrollViewDidEndDragging(_ scrollView:UIScrollView,willDecelerate减速:Bool)
我试试这个:
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
checkIsScrollToBottom(scrollView)
}
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
checkIsScrollToBottom(scrollView)
}
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
checkIsScrollToBottom(scrollView)
}
fileprivate func checkIsScrollToBottom(_ scrollView: UIScrollView){
if textViewForChatContent.contentSize.height - scrollView.contentOffset.y == 301 {
isScrollToBottom = true
print("isScrollToBottom=\(isScrollToBottom)")
}else{
isScrollToBottom = false
print("isScrollToBottom=\(isScrollToBottom)")
}
}
但是这个判断并不适用于所有设备。 是有人知道更好的判断,可以知道textView是滚动到底部吗?
谢谢!
答案 0 :(得分:5)
从此question
您可以使用此功能:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if (scrollView.contentOffset.y >= scrollView.contentSize.height - scrollView.frame.size.height) {
print( "View scrolled to the bottom" )
}
}