ios - 警告尝试在演示或解散过程中从 View Controller 中解散

标签 ios objective-c ipad uipopovercontroller uistoryboardsegue

重现步骤-

  1. 点击 Root View Controller 的按钮打开模态视图 Controller 。
  2. 在模态视图 Controller 中 - 在按钮上,创建 segue 以显示弹出 View Controller 。
  3. 点击按钮查看 Popover View Controller 。
  4. 现在在屏幕上多次点击以关闭弹出 View Controller ,它直接重定向到 Rootview Controller 。(关闭模态视图 Controller )。

另一种方法-

  1. 创建 IBAction 以显示弹出 View Controller 。
  2. 点击按钮查看 Popover View Controller 。
  3. 这次它只是关闭弹出 View Controller 。 (不重定向到 RootView Controller )

当您以两种不同的方式显示 Popover View Controller 时,为什么会出现这种奇怪的行为? 我正在研究已经开发的大项目,现在我不可能继续使用第二种方法。 请帮助我找到解决此问题的更好方法。

最佳答案

您需要在模态视图 Controller 中创建一个委托(delegate)方法。 在您的弹出 View Controller 关闭后,然后调用您的模态视图 Controller 委托(delegate)方法来关闭。

[self dismissViewControllerAnimated:YES completion:^{
    ModalViewControllerDelegate.dismissView;
}];

关于ios - 警告尝试在演示或解散过程中从 View Controller 中解散,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29093531/

相关文章:

ios - 如何检查 View Controller 是否添加到堆栈中

ios - 滚动时扭曲 UITableViewCell?

iphone - 动画 NSLayoutConstraints 更改(以及对更改的对象有约束的对象)

iphone - 在iPhone/iPad上创建新键盘

objective-c - 如何在应用程序内启动应用程序

iphone - Xcode - UIImageView 在边缘停止

iphone - 什么时候释放 NSThread 是安全的?

iphone - 动画 UIButton 状态变化

ios - 在 iOS 上使用 RNCryptor 加密/解密大文件时的内存问题

html - 如何创建适用于所有纵向 iPad 的媒体查询?