如果使用UIModalPresentationFormSheet呈现模型,如何在子视图上重新加载数据

时间:2011-02-01 16:27:22

标签: ipad uitableview modal-dialog presentmodalviewcontroller reloaddata

我在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;

感谢任何帮助,谢谢!

2 个答案:

答案 0 :(得分:0)

你可以设置 self.view.autolayoutSubviews = NO; UI将更改UIModalPresentationFormSheet的视图大小。这可能会打破重装过程。

答案 1 :(得分:0)

我认为您应该将数据重新加载到您检测到用户选择的代码附近,而不是viewWillAppear viewDidAppear