3

我试图让我UITableView以稳定的速度慢慢向下滚动,我可以指定。我用过scrollToRowAtIndexPath,但无论我是否选择对其进行动画处理,它几乎都是即时的动作。我正在看一些移动得更慢的东西。

我确实想知道是否可以对 UIView 动画块做一些事情,一次移动一个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

您始终可以随时间递减 contentOffset y 轴。

于 2013-02-15T22:22:46.883 回答
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 回答