スクロール ビューに膨大な数の写真 (約 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];
}