0

ScrollView を制御して繰り返さないようにする方法を知っていますか。たとえば、私は 5 つの写真 (追加された図のように) を持っています。それらは 1 から 5 まで表示でき、最後の写真の直後に停止する必要があります。同時に、最初の写真の直後にスクロールして停止できる必要があります。全体として、5 番目の画像の後と 1 番目の画像の前を繰り返さずに、1 から 5 までしか移動できないはずです。

現在の問題は、5 番目の後にさらにスクロールするため、1 番目の画像から再び開始し、逆に 1 番目の画像にスクロールして戻ると 5 番目に進み続けるということです。

これに使用したコードは、 「InfinitePagingView」ページです。

無効なスクロール:

   scrollEnabled = NO;

ここに画像の説明を入力
私が知りたいのは、5枚目の画像の直後にスクロールを停止できるかどうかですが、それは右側でのみ有効にする必要があります. 「scrollEnable right = NO & scrollEnable left = NO」のようなコードはありますか。そうでない場合、どのコードを使用できますか。

よろしくお願いします

4

2 に答える 2

1

では、左側ではなく右側で無限スクロールが必要ですか? 使用しているをカスタマイズする必要がありInfinitePagingViewます。コード、特にメソッドscrollView:didScrollを調べて、左側で無効にします。

これはデフォルトの動作ではないため、設定する単純なプロパティはありません。しかし、これは奇妙な行動だと思いませんか?右にスクロールして 5 番目の画像に移動すると、1 番目の画像に戻り、左にスクロールできなくなりますか? あの場所から来たばかりなのに?

無限スクロールが必要ない場合は、デフォルトの scrollView を使用してください。

于 2012-11-15T09:34:30.867 に答える
0

次のコードを使用して、Scrollviewに5つのUIButtonを表示します。これは、必要に応じて機能します。5つの画像に使用できます。確認してください。

- (void)viewDidLoad 
 {

UIScrollView *scrollview = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 407, 320, 80)]; 
[self.view addSubview:scrollview];
int i;
int spacex = 5;
int spacey=5;
for ( i = 0; i <5; i++) 
{   
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    btn = [[UIButton alloc] initWithFrame:CGRectMake(spacex, spacey, 115, 45)];
    btn.backgroundColor = [UIColor greenColor]; 
    [btn setTitleColor: [UIColor blackColor] forState: UIControlStateNormal];
    spacex = spacex + 120;
    [scrollview addSubview:btn];
}
  scrollview.contentSize = CGSizeMake(scrollview.frame.size.height*(i+2) , scrollview.frame.size.height); 
 [super viewDidLoad];
}

あなたの要件に応じてそれを変更することができます。それがあなたのために働くことを願っています。ありがとう。

于 2012-11-15T10:26:25.623 に答える