У меня есть приложение для раскадровки, в котором есть несколько контроллеров представлений, которые нужно вводить программным путем, а не с помощью segues. Я использую следующий код, чтобы сделать это:Сохранение позиции прокрутки при нажатии на ViewController в коде в приложении раскадровки
POCollectionViewController* vc = [self.storyboard instantiateViewControllerWithIdentifier:@"categoryView"];
POCategory* destination = (POCategory*)self.collections[indexPath.row];
[vc setShowingCollection:destination];
[self.navigationController pushViewController:vc animated:YES];
Моя проблема заключается в том, что, когда я использую перетекает нажать контроллеры просмотра и нажатии кнопки «назад», сохраняется положение прокрутки, но когда я использую выше кода и нажмите кнопку «назад», мой предыдущий контроллер просмотра появится со строкой прокрутки вверху.
Повторно ли он создает экземпляр контроллера представлений, который должен находиться уже в стеке навигации? Как сохранить положение прокрутки?
РЕДАКТИРОВАТЬ Код для setShowingCollection:
-(void)setShowingCollection:(POCategory*)collection
{
self->showingCollection = collection;
self.title = collection.name;
self.HUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
self.HUD.delegate = self;
[self.HUD showWhileExecuting:@selector(buildDisplayItems) onTarget:self withObject:nil animated:YES];
}
Метод buildDisplayItems
извлекает кучу данных от сервера на основе ID коллекции, показывающая в.
ли вы когда-нибудь установить позицию прокрутки из кода? Это обычная кнопка возврата (метод действия)? – Wain
Нет на оба вопроса. – Shinigami