1

3ページのUIScrollViewがあります。自分の問題を説明するのは難しいので、テーブルビューと比較して説明しようと思います。

テーブルビューがある場合は、スクロールして存在しないスペースを表示できます。つまり、セルが1つ表示されている場合は、下にスクロールしてセルのない空白を表示できます。定義がわからないので、「空のスペースまでスクロール」と呼びます。

今が問題です。次のように実装したいと思います。ユーザーが1ページを表示すると、「空のスペースにスクロール」できず、ユーザーが最後のページにいると、「空のスペースにスクロール」できます。

私のコードは次のとおりです。

    self.scroll = [[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, size.width, size.height)] autorelease];
    scroll.pagingEnabled = YES;
    scroll.showsHorizontalScrollIndicator = NO;
    scroll.showsVerticalScrollIndicator = NO;
    scroll.scrollsToTop = NO;
    scroll.delegate = self;
    scroll.contentSize = CGSizeMake(size.width * kNumberOfPages, size.height);
    scroll.backgroundColor = [UIColor greenColor];

必要な機能を提供するためにどのプロパティを設定する必要がありますか。

4

1 に答える 1

2

それはバウンスと呼ばれます。

UIScrollViewbouncesバウンスを防ぐためにNOに設定できるというプロパティがあります。

    scroll.bounces = NO;

バウンス

スクロールビューがコンテンツの端を超えて跳ね返り、再び戻るかどうかを制御するブール値。

        @property(nonatomic) BOOL bounces

討論

このプロパティの値がYESの場合、コンテンツの境界に遭遇するとスクロールビューがバウンスします。視覚的にバウンスすることは、スクロールがコンテンツの端に到達したことを示します。値がNOの場合、スクロールはバウンスせずにコンテンツ境界ですぐに停止します。デフォルト値はYESです。

そのプロパティの値を、スクロールデリゲート– scrollViewDidScroll:メソッドで必要な値に設定できます。

于 2012-08-01T08:14:38.303 に答える