3

UIScrollView がコンテンツビューの最後に達したときにイベントを取得するために、次のコードを用意しています。

- (void) scrollViewDidEndDecelerating:(UIScrollView *) scrollView
{
    float currentEndPoint = scrollView.contentOffset.y + scrollView.frame.size.height;

    // CGPoint bottomOffset = CGPointMake(0, scrollView.contentSize.height - scrollView.bounds.size.height);
    // [scrollView setContentOffset:bottomOffset animated:NO];

    if (currentEndPoint >= scrollView.contentSize.height)
    {
        // We are at the bottom

一番下までスクロールすると、それがヒットして跳ね返ることに気付きました。

これを追加すると:

CGPoint bottomOffset = CGPointMake(0, scrollView.contentSize.height - scrollView.bounds.size.height);
[scrollView setContentOffset:bottomOffset animated:NO];

その後、スクロールは一番下に戻ります。

底にぶつかると動きを止めるように、「跳ね返る」ことなく底にとどまる方法はありますか。

ありがとう。

4

3 に答える 3

7

スクロールビューのバウンス プロパティのチェックを外す必要があります。スクリーンショットをチェック!

ここに画像の説明を入力

于 2015-05-15T05:58:37.397 に答える
2

テーブルビューのスクロールを一番下までスクロールを止めたいというのですが、何を言っているのかよくわかりませんでした。だからここにプロセスがあります: -

- (void) scrollViewDidEndDecelerating:(UIScrollView *) scrollView
{
    float currentEndPoint = scrollView.contentOffset.y + scrollView.frame.size.height;

    if (currentEndPoint >= scrollView.contentSize.height)
    {

    CGPoint offset = scrollView.contentOffset;
    offset.x -= 1.0;
    offset.y -= 1.0;
    [scrollView setContentOffset:offset animated:NO];
    offset.x += 1.0;
    offset.y += 1.0;
    [scrollView setContentOffset:offset animated:NO];
  }
}
于 2015-05-15T06:00:01.213 に答える