簡體   English   中英

檢測UITextView滾動位置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM