[英]Detect UITextView scroll location
我正在嘗試實現一個條款和條件頁面的形式,其中“Proceed”按鈕僅在用戶滾動到UITextView的底部時啟用。 到目前為止,我已將我的類設置為UIScrollView委托並已實現以下方法:
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
NSLog(@"Checking if at bottom of UITextView");
CGPoint bottomOffset = CGPointMake(0,self.warningTextView.frame.size.height);
//if ([[self.warningTextView contentOffset] isEqualTO:bottomOffset])
{
}
}
我已經評論了if語句,因為我不確定如何檢查UITextView是否在底部。
UITextView是一個UIScrollView子類。 因此,使用UITextView時也可以使用您正在使用的UIScrollView委托方法。
而不是使用的scrollViewDidEndDecelerating
,你應該使用scrollViewDidScroll
,作為滾動視圖可能會停止不減速滾動。
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView.contentOffset.y >= scrollView.contentSize.height - scrollView.frame.size.height)
{
NSLog(@"at bottom");
}
}
這個問題的Swift版本:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView.contentOffset.y >= scrollView.contentSize.height - scrollView.frame.size.height {
print( "View scrolled to the bottom" )
}
}
這應該解決它。 有用。 我正在使用它。
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
float bottomEdge = scrollView.contentOffset.y + scrollView.frame.size.height;
if (bottomEdge >= scrollView.contentSize.height)
{
// we are at the end
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.