ios - UIModalPresentationFormSheet 关闭 iOS 中首选项的事件

标签 ios cocoa-touch preferences viewcontroller

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

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

当我保存首选项并使用

关闭 View Controller 时
[self dismissModalViewControllerAnimated:YES];

但我的偏好没有改变。

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

我用的时候很好

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

我在哪里可以检查 UIModalPresentationFormSheet 的事件?

感谢您的帮助。

最佳答案

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

关于ios - UIModalPresentationFormSheet 关闭 iOS 中首选项的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15187095/

相关文章:

ios - 如何使用 Swift 在 Apptimize 中添加动态变量?

cocoa-touch - 如何在任务完成 block 中更新 UI?

iphone - 如何创建自定义 UIAlertView

ios - ASIHTTPRequest 的包装器

Android:检索其他应用程序的共享首选项

ios - 如何从 iOS 中的流接收数据 (swift)

ios - SpriteKit - 创建一个计时器

ios - 离开屏幕时,Tableview 部分标题无法正确转换

java - 如何从首选项同步 getter 和 setter?

Java 首选项和国际化 (i18n)