当我的"发送"时,我使用以下代码滚动到我的表格视图的底部。按钮被点击。也就是说,动画似乎是“不稳定的”。即使我已将动画设置为YES。 例如当点击按钮时,我的整个表格视图内容会清除(变白),然后重新出现在我的桌面视图的底部(相对于我正在寻找的平滑滚动动画?)
ViewController.m
- (IBAction)sendReply:(id)sender {
[self.tableView setContentOffset:CGPointMake(0, CGFLOAT_MAX) animated:YES];
}
答案 0 :(得分:2)
在按钮操作中调用此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];
}
}
如果您有任何疑问,请与我联系。
快乐的编码。
答案 1 :(得分:1)
我认为你可以使用tableview本身的默认动画
int lastRowNumber = [tableView numberOfRowsInSection:0] - 1;
NSIndexPath* ip = [NSIndexPath indexPathForRow:lastRowNumber inSection:0];
if (ip > 0) {
[tableView scrollToRowAtIndexPath:ip atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
答案 2 :(得分:1)
找到你的Last indexPath并试试这个
[self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:true];
希望这会有用
答案 3 :(得分:0)
- (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];
}
}
检查一下并告诉我