我在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;
感谢任何帮助,谢谢!
答案 0 :(得分:0)
你可以设置
self.view.autolayoutSubviews = NO;
UI将更改UIModalPresentationFormSheet的视图大小。这可能会打破重装过程。
答案 1 :(得分:0)
我认为您应该将数据重新加载到您检测到用户选择的代码附近,而不是viewWillAppear
viewDidAppear
。