1

ページング付きのscrollViewがあります。私はそれを宣言します:

   if(_fullPosterScroll == nil) _fullPosterScroll = [[UIScrollView alloc] initWithFrame:rc];
    [_fullPosterScroll setDelegate:self];
    [_fullPosterScroll setBackgroundColor:[UIColor blackColor]];
    [_fullPosterScroll setCanCancelContentTouches:NO];
    _fullPosterScroll.indicatorStyle = UIScrollViewIndicatorStyleWhite;
    _fullPosterScroll.clipsToBounds = NO;
    _fullPosterScroll.pagingEnabled = YES;
    _fullPosterScroll.alwaysBounceHorizontal = NO;
    _fullPosterScroll.directionalLockEnabled = YES;

そして、タップした後、メソッドを呼び出します:

[_fullPosterScroll setContentOffset:CGPointMake(_selectedPosterPosition*(_fullPosterScroll.frame.size.width), 0) animated:YES];
NSLog(@"%f",_fullPosterScroll.contentOffset.y);

その後、ログにたとえば 225.00 があるのはなぜですか?! これは 0 である必要があります。

4

1 に答える 1

1

setContentOffset投稿したコードに問題はありませんが、オフセットを変更しているデリゲート メソッドがトリガーされていないことを確認する必要があります。

また、Apple にはサンプル プロジェクトPageControlがあります。これはまさに希望どおりの動作をするので、完全な例が必要な場合はそれを参照してください。

于 2012-09-05T08:55:39.897 に答える