Я применил UIModalPresentationFormSheet в своем приложении iPad. Новый вид частично охватывает подзадачу и позволяет пользователю сделать выбор. Это все отлично работает, однако ...Как перезагрузить данные в подвью, если модель представлена с использованием UIModalPresentationFormSheet
Когда пользователь выбирает параметр, я хотел бы обновить базовое представление новыми данными, но не могу заставить его работать!
Я попытался использовать setNeedsDisplay или [table reloadData]; в методах viewDidAppear и viewWillAppear.
Некоторые код ради коды:
- (void)viewWillAppear:(BOOL)animated {
[self updateUserDetails];
[self.myTableView reloadData];
}
- (void)viewDidAppear:(BOOL)animated {
[self updateUserDetails];
[self.myTableView reloadData];
}
- (void)updateUserDetails {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:selection forKey:@"userDetail"];
}
Мой переход следующим образом. Если эта строка прокомментирована, то приложение функционирует так, как ожидалось:
myNavigationController.modalPresentationStyle = UIModalPresentationFormSheet;
Любая помощь приветствуется, спасибо!
«Это может сломать процесс перезагрузки». Пожалуйста, развернитесь. – adamdunson
Я не знаю подробностей о процессе перезагрузки, я имею в виду, когда вы используете стиль UIModalPresentationFormSheet, система изменит размер вашего представления, а ваш контроллер представлений будет включать в себя авторазметки, включая изменение размера таблицы. Это может стать проблемой, если вы invoke reload. Мы не можем читать исходный код, мы не знаем, что произошло, но это работает для меня. – decazuk