iOS - 如果正在呈现模型视图,如何不呈现?

Posted

技术标签:

【中文标题】iOS - 如果正在呈现模型视图,如何不呈现?【英文标题】:iOS - How to not present model view if it is presenting? 【发布时间】:2016-08-15 16:54:56 【问题描述】:

我有一个浮动按钮来呈现模型视图。我在 AppDelegate 中调用 presentViewController

UIApplication.sharedApplication().keyWindow?.rootViewController!.getTopViewController().presentViewController(myViewController, animated: false, completion: nil)

当 myViewController 呈现时,我再次单击浮动按钮,我的应用程序将再次调用 myViewController。那么呈现了怎么不呈现呢?

【问题讨论】:

【参考方案1】:

你可以做的是在你的按钮上添加一个检查来检查当前控制器是否正在呈现可以像这样完成的东西

let controller = UIApplication.sharedApplication().keyWindow?.rootViewController!.getTopViewController()

if controller.presentedViewController == nil 
       controller.presentViewController(myViewController, animated: false, completion: nil)


【讨论】:

以上是关于iOS - 如果正在呈现模型视图,如何不呈现?的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 6 上显示的视图消失了。我该如何解决?

呈现视图 swift iOS

如果您推送并呈现多个视图控制器,如何移动到 parentViewController?

如果弹出框作为模型呈现,UITableViewController 将失去滚动功能

iPhone,iOS 8:如何呈现比原始视图控制器更小的 ViewController?

在 ios 7 中呈现模型视图控制器时出现状态栏问题