3

UITableView指定できる一定の速度でゆっくりと下にスクロールできるようにしようとしています。を使用scrollToRowAtIndexPathしましたが、アニメーション化するかどうかに関係なく、ほぼ瞬時の動きです。もっとゆっくり動くものを見ています。

UIView アニメーション ブロックを 1 つずつ動かして何とかできないかと思っていましたindexPath.rowが、セルの高さが異なるため、アニメーションの速度が不均一になります。

これを行う他の方法はありますか?

4

3 に答える 3

3

私はこれでそれを手に入れました。

[NSTimer scheduledTimerWithTimeInterval: 0.025 target:self selector:@selector(scrollTableView) userInfo:nil repeats:YES];

と..

- (void) scrollTableView {

    float w = 1;

    CGPoint scrollPoint = self.tableView.contentOffset;
    scrollPoint.y = scrollPoint.y + w;
    if (scrollPoint.y >= self.tableView.contentSize.height - (self.tableView.frame.size.height - 100)  || scrollPoint.x <= -self.tableView.frame.size.height + 924) {
    w *= -1;
    }
    [self.tableView setContentOffset: scrollPoint animated: NO];
}
于 2013-02-15T22:25:18.400 に答える
0

ここであなたは相棒に行きます。animateWithDurationを1や1.5などのより高い秒数に変更するだけで、目的の効果が得られるかどうかを確認できます。QuartzCoreライブラリと#import <QuartzCore/QuartzCore.h>*.mファイルが含まれていることを確認してください。これは簡単です

-(IBAction)modeTableSlowly
{

    [UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^{

            //here tblSimpleTable2 is tableView
            [tblSimpleTable2 setFrame:CGRectMake(183, 56, 137, 368)];

    } completion:nil];

}
于 2013-02-17T05:18:16.017 に答える