Надеюсь, что кто-то может помочь, когда я наткнулся на контрольно-пропускной пункт.Я начал с UIScrollview, который содержал бы контент с динамическим переключением высоты.После нескольких проблем с AutoLayout я переключился на использование UITableView.
В тот момент, когда у меня есть UITableView в главном UIView, а затем я разделяю UITableViewCells в раскадровке.Каждый UITableViewCell подключен через IBOutlet.
Теперь, чтобы переключить содержимое, я использую следующее для reloadData
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(contentToShow == 1){
UITableViewCell *cell = self.cellHome;
self.viewIcon1.layer.cornerRadius = 40;
self.viewIcon1.layer.masksToBounds = true;
self.viewIcon2.layer.cornerRadius = 40;
self.viewIcon2.layer.masksToBounds = true;
self.viewIcon3.layer.cornerRadius = 40;
self.viewIcon3.layer.masksToBounds = true;
self.viewIcon4.layer.cornerRadius = 40;
self.viewIcon4.layer.masksToBounds = true;
[self addUnderline:self.imageViewTitle];
[self addUnderline:self.imageViewTitle2];
[self addUnderline:self.imageViewTitle3];
return cell;
}else {
UITableViewCell *cell = self.cellCustInfo;
[self addUnderline:self.imageViewTitle4];
return cell;
}
}
Теперь это, похоже, меняет содержимое UITableView, но у меня возникают странные проблемыс позицией прокрутки сразу после изменения.Я использую следующее, чтобы попытаться вернуться к вершине UITableView.
- (IBAction)showFAQScreen {
contentToShow = 2;
[UIView animateWithDuration:0.4 animations:^{
self.tableViewContent.contentOffset = CGPointZero;}];
[self.tableViewContent reloadData];
[self showMenu:nil];
}
Если свиток не перемещен, то контент отображается правильно, если он немного переместился, то контент прокручивается какожидается.Однако, если прокрутка значительно сместилась вниз, прокрутка переходит на дно, и только когда я коснусь прокрутки, она исправляет себя.Любые идеи, что происходит и предложения по другому подходу?
Спасибо