Как перезагрузить данные в подпредставлении, если модель представлена ​​с использованием UIModalPresentationFormSheet - PullRequest
1 голос
/ 01 февраля 2011

Я реализовал UIModalPresentationFormSheet в своем приложении для iPad. Новый вид частично охватывает вспомогательный вид и позволяет пользователю сделать выбор. Все это прекрасно работает, однако ...

Когда пользователь выбирает опцию, я хотел бы обновить базовый вид новыми деталями, но не могу заставить его работать!

Я пытался использовать 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;

Любая помощь приветствуется, спасибо!

Ответы [ 2 ]

0 голосов
/ 04 ноября 2013

Я думаю, что вы должны поместить перезагрузку данных рядом с кодом, где вы обнаруживаете выбор пользователя, а не в viewWillAppear из viewDidAppear.

0 голосов
/ 01 марта 2013

Вы можете установить self.view.autolayoutSubviews = NO; Интерфейс изменит размер вашего представления для UIModalPresentationFormSheet.Это может нарушить процесс перезагрузки.

...