1

スクロール ビューに膨大な数の写真 (約 650 枚の写真) を表示するアプリを開発しています。このアプリをスムーズに機能させるために、scrollView に 3 つの UIImage のみを追加しました。1 つは最初のページを表し、2 番目は現在のページを表します。その 3 番目は次のページです。ユーザーが最初にアプリを起動すると、最初の画像が中央のページに読み込まれ、最後の画像が前のページに読み込まれ、2 番目の画像が次のページに読み込まれます。右にスクロールすると、中央のページで 2 番目の画像が読み込まれ、前のページで最初の画像が読み込まれ、次のページで 3 番目の画像が読み込まれます。

ただし、ユーザーが速くスクロールすると、スクロールビューの境界が表示され、ユーザーが次のページにスクロールできなくなり、バウンスするだけです。

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView 私の質問は、メソッドが通常よりも速く呼び出されるように、スクロールビューのスクロールを速くする方法です

以下のコードに示すようにプロパティを試しdecelerationRateましたが、違いに気づきませんでした! 私はそれを正しく使用していますか、それとも何か問題がありますか?

前もって感謝します

- (void)viewDidLoad
{

    scrollView = [[ScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
    scrollView.delegate = self;
    //scrollView.decelerationRate= UIScrollViewDecelerationRateFast;

    [self.view addSubview:scrollView];

    scrollView.contentSize = CGSizeMake(960, 416);


    pageZero = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
    pageOne = [[UIImageView alloc]initWithFrame:CGRectMake(320, 0, 320, 480)];
    pageTwo = [[UIImageView alloc]initWithFrame:CGRectMake(640, 0, 320, 480)];


    //set array that holds images to be shown
    for(int i = 0 ; i < 10 ; i++)
        [pages addObject:[NSString stringWithFormat:@"%i.png",i]];

//load photos
    [self loadPageWithId:0 onPage:1];
    [self loadPageWithId:2 onPage:0];
    [self loadPageWithId:1 onPage:2];

//add 3 UIImage objects to the scrollView
    [scrollView addSubview:pageZero];
    [scrollView addSubview:pageOne];
    [scrollView addSubview:pageTwo];


    //scroll to the middle page without animation
    [scrollView scrollRectToVisible:CGRectMake(320,0,320,416) animated:NO];

    UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc]initWithTarget:self    action:@selector(singleTap)];
    [self.scrollView addGestureRecognizer:singleTap];

}
4

1 に答える 1