1

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

任何帮助表示赞赏,谢谢!

4

2 回答 2

0

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

于 2013-11-04T09:20:39.263 回答
0

您可以设置 self.view.autolayoutSubviews = NO; UI 将更改 UIModalPresentationFormSheet 的视图大小。这可能会中断重新加载过程。

于 2013-03-01T03:54:03.727 回答