簡體   English   中英

從UITableview向上滾動時的操作

[英]Action while scroll up from UITableview

當用戶從UITableView向上滾動時,我想編寫一個動作,該怎么做?

嘗試這個

第1步:

   yourUITableView.delegate = self;

第2步:

   CGFloat yOffset = 0.0;

第三步:

 -(void)scrollViewDidScroll:(UIScrollView *)scrollView
        {
            if (scrollView.contentOffset.y < yOffset) {

                // scrolls down.
                yOffset = scrollView.contentOffset.y;
            }
            else
            {
                // scrolls up.
                yOffset = scrollView.contentOffset.y;

                // Your Action goes here...
            }

        }

我可以想到幾種方法來幫助您解決此問題。 一次,如果您不需要精確識別向上滑動,則可以使用UITableView行為來執行此操作。

每次出現新行時,都會調用tableView:cellForRowAtIndexPath:選擇器。 您可以使用此方法通過比較先前插入的行(indexPath.row)來確定用戶滾動的方向,以查看較新的行。 如果是,則用戶正在向上滾動。

為了獲得更高的精度,您可以嘗試使用“ 滑動手勢識別器” 我個人從未使用過它,但是我無法想象它很難使用。

UITableView繼承自UIScrollView ,因此您可以將UIScrollView的委托用於tableView: http : //developer.apple.com/library/ios/#documentation/uikit/reference/UIScrollViewDelegate_Protocol/Reference/UIScrollViewDelegate.html#//apple_ref/ occ / intf / UIScrollViewDelegate

tableView.delegate = self;

..

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{
   NSLog(@"Content offset: %f", scrollView.contentOffset.y);

   // do something like
   // if firstOffset < secondOffset {
   // [self yourAction];
   //}
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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