У меня есть табличный вид, который загружает себя при выборе даты popover. Я хочу, чтобы последняя TableView клетка (которая не видна в данный момент), чтобы выбрать, и он должен перейти к нижнемуScroll 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 клетка, но это не делает сначала прокрутите вниз, но если я выбираю другую дату с даты popover, она прокручивается в нижнюю часть и выбирается ячейка.
Я вызвал функцию «scrollTableToIndex
» в viewDidAppear
, но это не сработает.
Кроме того, если я использую это
[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];
Если я это сделать, то код работает на 1-й раз, но во второй раз, после того как я выбрать дату из popover, tableview висит.
Я передала этот link
Пожалуйста, помогите.