1

I want to write an action when user scroll up from UITableView,How can I do this ?

4

3 に答える 3

6

これを試して

ステップ1:

   yourUITableView.delegate = self;

ステップ2:

   CGFloat yOffset = 0.0;

ステップ3:

 -(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...
            }

        }
于 2013-03-06T04:53:51.420 に答える
0

これに役立つと私が考えることができるいくつかの方法があります。一度、上方向のスワイプを正確に認識する必要がない場合は、UITableView ビヘイビアを使用してこれを行うことができます。

新しい行が表示されるたびに、tableView:cellForRowAtIndexPath:セレクターが呼び出されます。このメソッドを使用すると、以前に挿入された行 (indexPath.row) を比較して新しい方が低いかどうかを確認することで、ユーザーがスクロールしている方向を知ることができます。そうであれば、ユーザーは上にスクロールしています。

より正確にするには、 Swipe Gesture Recognizerを使用してみてください。個人的には使ったことはありませんが、使いにくいとは思えません。

于 2013-03-05T15:37:36.523 に答える
0

UITableViewから継承するため、tableViewのデリゲートUIScrollViewを使用できます。 /UIScrollViewDelegateUIScrollView

tableView.delegate = self;

..

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

   // do something like
   // if firstOffset < secondOffset {
   // [self yourAction];
   //}
}
于 2013-03-05T15:37:49.570 に答える