【问题标题】:Animate scrolling to bottom of tableview on button tap?在按钮点击时动画滚动到表格视图的底部?
【发布时间】:2016-11-23 15:21:43
【问题描述】:

当我的“发送”按钮被点击时,我正在使用下面的代码滚动到表格视图的底部。也就是说,即使我将动画设置为“是”,动画也似乎“不稳定”。 例如当点击按钮时,我的整个表格视图内容会清除(变白),然后重新出现在我的表格视图底部(与我正在寻找的平滑滚动动画相比?)

ViewController.m

- (IBAction)sendReply:(id)sender {

    [self.tableView setContentOffset:CGPointMake(0, CGFLOAT_MAX) animated:YES];

}

【问题讨论】:

标签: ios objective-c uitableview


【解决方案1】:

在您的按钮操作中调用此scrollTableToBottom 方法

条件用于检查任何行是否存在。你可以忽略它并相应地处理

- (void)scrollTableToBottom {
    NSInteger rowNumber = [self. tableView numberOfRowsInSection:0];
    if (rowNumber > 0) {
        [self. tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:rowNumber-1 inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:NO];
    }
}

如果您有任何问题,请告诉我。

编码愉快。

【讨论】:

  • 仍然没有流畅的动画:/
  • 制作动画:是的,看看,我在代码中写了否
  • 奇怪的是,现在它完全停止滚动了。
  • @Brittany,当你点击发送按钮时,是否有任何键盘显示?
  • 在键盘可见和不可见的情况下尝试过 - 两种方式都没有动画。
【解决方案2】:

我认为你可以使用tableview本身的默认动画

    int lastRowNumber = [tableView numberOfRowsInSection:0] - 1;
    NSIndexPath* ip = [NSIndexPath indexPathForRow:lastRowNumber inSection:0];
    if (ip  > 0) {

    [tableView scrollToRowAtIndexPath:ip atScrollPosition:UITableViewScrollPositionTop animated:YES];
}

【讨论】:

    【解决方案3】:

    找到你的最后一个 indexPath 并试试这个

     [self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:true];
    

    希望这会奏效

    【讨论】:

      【解决方案4】:

      - (void) viewDidAppear:(BOOL)animated
      {
          [super viewDidAppear:animated];
          if (messagesTableView.contentSize.height > messagesTableView.frame.size.height) 
          {
              CGPoint offset = CGPointMake(0, messagesTableView.contentSize.height -     messagesTableView.frame.size.height);
              [self.messagesTableView setContentOffset:offset animated:YES];
          }
      }

      检查并告诉我

      【讨论】:

      • 仍然没有动画动作:/
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-12
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      相关资源
      最近更新 更多