【问题标题】:Programmatically scrolling table view and adjusting scroll time?以编程方式滚动表格视图并调整滚动时间?
【发布时间】:2013-05-01 05:48:54
【问题描述】:

基本上我有一个可以滚动的表格视图:

 [self.tableView scrollToRowAtIndexPath:indexPath
                          atScrollPosition:UITableViewScrollPositionTop
                                  animated:YES];

但是当我这样做时,它滚动得非常快,我希望它滚动得慢一点。这如何实现?

【问题讨论】:

标签: iphone uitableview scroll


【解决方案1】:

这是另一种解决方案,可以这样尝试。

[UIView animateWithDuration:5.0 animations:^{
        //Move table view to where you want
         [tableView setContentOffset:CGPointMake(0, 500)];
    } completion:^(BOOL finished){
    }];

【讨论】:

    【解决方案2】:

    你也可以使用 UIView 动画,但是传递 NO 为下面方法的动画选项。通过更改动画持续时间,您可以使其变慢或变快

    [UIView animateWithDuration:0.5 animations:^(void){
            [self.tableView scrollToRowAtIndexPath:indexPath
                              atScrollPosition:UITableViewScrollPositionTop
                                      animated:NO];
        }]
    

    【讨论】:

    • 这与使用 animate:YES 滚动不同。当您使用内置的滚动动画时,表格视图实际上会构建并显示动画中间的所有单元格(源和目标之间)。当您使用此解决方案时,表格视图不会显示屏幕外的单元格,它只是跳转到目标帧,并且该跳转会被动画化。如果您有一张带有缓慢动画的长表格,您会注意到这一点,您会看到很多空白单元格。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-28
    • 2023-04-11
    相关资源
    最近更新 更多