gpt4 book ai didi

ios - 将 tableView 滚动到底部以选择最后一行

转载 作者:行者123 更新时间:2023-11-29 01:17:52 25 4
gpt4 key购买 nike

我有一个 TableView ,它会在选择日期弹出框时自行加载。我想要选择最后一个 tableview 单元格(当前不可见),它应该滚动到底部

我写了下面的代码

- (void)viewDidLoad {
[_tableView reloadData];
[self scrollTableToIndex];
[_tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:_selectedMeetingIndex inSection:0] animated:YES scrollPosition:UITableViewScrollPositionNone];
[self tableView:_tableView didSelectRowAtIndexPath:[NSIndexPath indexPathForRow:_selectedMeetingIndex inSection:0]];
}
-(void)scrollTableToIndex{

if(_selectedMeetingIndex <= _arrMeetingsList.count / 2){
_isTableBottomScrolled = NO;
[_tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:_selectedMeetingIndex inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES];
}else{
NSLog(@"_tableView.contentOffset.y %f",_tableView.contentOffset.y);

if (!_isTableBottomScrolled) {
_isTableBottomScrolled = YES;
CGFloat height = self.agendaList.contentSize.height - self.tableView.bounds.size.height;
[self.tableView setContentOffset:CGPointMake(0, height) animated:YES];

}
}
}

tableview 单元格已被选中,但它不会第一次滚动到底部,但是如果我从日期弹出窗口中选择不同的日期,它会滚动到底部并选中该单元格。

我也在 viewDidAppear 中调用了函数“scrollTableToIndex”,但它不起作用。

还有如果我用这个

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

代替下面的代码行

CGFloat height = self.agendaList.contentSize.height - self.tableView.bounds.size.height;
[self.tableView setContentOffset:CGPointZero animated:YES];

如果我这样做,那么代码第一次工作但第二次工作,在我从弹出窗口中选择日期后,tableview 挂起。

我已经提到了这个 link

请帮助。

最佳答案

这就是我使用的代码:

- (void) scrollToBottomAnimated:(BOOL) animated
{
CGSize contentSize = self.contentSize;
CGSize boundsSize = self.bounds.size;
if (contentSize.height > boundsSize.height - self.contentInset.bottom)
{
CGPoint bottomOffset = CGPointMake(0, contentSize.height - boundsSize.height + self.contentInset.bottom);
[self setContentOffset:bottomOffset animated:animated];
}
}

我将其保留为我的 UITableView 类别方法之一,因此“self”就是 UITableView

关于ios - 将 tableView 滚动到底部以选择最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34949658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com