1

私はUIScrollViewを持っています。無限の左スクロール効果を実装したい。これはどのように可能ですか?

- (void) scrollViewDidScroll:(UIScrollView *)scrollView {
    CGFloat pageWidth = scrollView.frame.size.width/7;
    int page = floor((scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
    Lbl_Rate.text=[NSString stringWithFormat:@"   pagenumber==>%d",page ];  
    int p=page%10;
    if(p==0){ 
        page=1;
        SCrl_Wheel.contentOffset = CGPointMake(0, 0);
    }
}

contentoffset を設定しようとしました SCrl_Wheel.contentOffset = CGPointMake(0, 0);

しかし、実際には設定されていませんcontentoffset.x=0;

そして、これは :-[SCrl_Wheel setContentOffset:CGPointMake(0,0) animated:YES];私のループを無限ループとして作成しています。

4

3 に答える 3

1

setContentSize:これをコードに追加します。

[SCrl_Wheel setContentSize:CGSizeMake(-100000,50)];

これで、あなたが望むようにスクロールし、なぜy = 0を追加したのですか?? の高さUIScrollView0 になります....

編集:

   [SCrl_Wheel setContentOffset:CGPointMake(1000, 0.0)];

このコードを追加して、両側をスクロールさせます:)私はそれをテストしました...

于 2012-10-13T09:34:35.993 に答える
1

左側のスクロール効果を追加するには、非常に大きな幅の scrollview を作成し、その初期 contentOffset を scrollview の contentwidth の中間点に設定します。

scrollView.contentSize = CGSizeMake(100000, 60);
scrollView.contentOffset = CGPointMake(scrollView.contentSize.width/2, 0);
于 2012-10-13T10:42:22.310 に答える
0

これは、左にスクロールするために使用したコードです。

HorizontalScroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0,50,yourView.frame.size.width,tbv.frame.size.height)];
        [HorizontalScroll setContentSize:CGSizeMake(930,340)];
        [HorizontalScroll setBackgroundColor:[UIColor redColor]]; // color is set just to know where the scroll view is , remove this line afterwards.
        [self.view addSubview:HorizontalScroll];
        [HorizontalScroll addSubview:yourView];
于 2012-10-13T10:24:59.827 に答える