0

我正在使用 iPad 中的以下代码使用 UIModalPresentationFormSheet 执行首选项功能。

self.preferencesViewController = [[PreferenceViewController alloc] initWithNibName:@"PreferenceViewController" bundle:nil];
    self.preferencesViewController.modalPresentationStyle = UIModalPresentationFormSheet;
    [self presentModalViewController:self.preferencesViewController animated:YES];

当我保存首选项并关闭视图控制器时

[self dismissModalViewControllerAnimated:YES];

但是我的喜好是没有改变的。

我写了我的检查首选项编码viewWillAppear,但是 viewWillAppear 事件不适用于UIModalPresentationFormSheet

当我使用时我很好

self.preferencesViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentViewController:self.preferencesViewController animated:YES completion:nil];

我在哪里可以查看活动UIModalPresentationFormSheet

谢谢你的帮助。

4

1 回答 1

2

将信息返回给创建您的控制器的标准方法是使用委托协议。您的 preferenceViewController 应该定义一个委托协议,并且呈现控制器应该在呈现首选项控制器之前将自己设置为委托。当您开始保存首选项时,PreferenceViewController 应该向它的委托发送一条消息,说明它已经完成并且应该被解除。在呈现控制器中实现该委托方法时,它可以从您保存它们的位置读取首选项,并关闭 PreferenceViewController。

于 2013-03-03T16:45:56.103 回答