1

各カバー間のスクロール速度を下げる必要があります。誰かがこれに対する良い解決策を思いついたことがありますか?

速度、per、または固定miを下げようとしましたが、機能しません:(

「TKCoverflowView.m」の実際のコード

#pragma mark UIScrollView Delegate
- (void) scrollViewDidScroll:(UIScrollView *)scrollView{
    velocity = abs(pos - scrollView.contentOffset.x);
    pos = scrollView.contentOffset.x;
    movingRight = self.contentOffset.x - origin > 0 ? YES : NO;
    origin = self.contentOffset.x;

    CGFloat num = numberOfCovers;
    CGFloat per = scrollView.contentOffset.x / (self.contentSize.width - currentSize.width);
    CGFloat ind = num * per;
    CGFloat mi = ind / (numberOfCovers/2);
    mi = 1 - mi;
    mi = mi / 2;
    int index = (int)(ind+mi);
    index = MIN(MAX(0,index),numberOfCovers-1); 

    if(index == currentIndex) return;

    currentIndex = index;
    [self newrange];

    if(velocity < 180 || currentIndex < 15 || currentIndex > (numberOfCovers - 16))
        [self animateToIndex:index animated:YES];
}

[編集] このメソッドを編集しても、実際には速度は変わらず、カバーのプレゼンテーションを変更するだけであることがわかりました。

解決策を見つけ、答えました。

4

1 に答える 1

0

decelerationRate 属性を使用する

[self setDecelerationRate:0.9];

カバーフローのアニメーション効果はこれでもうまく機能します。

于 2012-08-01T18:44:24.250 に答える