Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS 8多个弹出窗口-“;警告:试图在*上显示已显示的*内容(null)";_Ios_Iphone_Uipopovercontroller_Uipopover - Fatal编程技术网

iOS 8多个弹出窗口-“;警告:试图在*上显示已显示的*内容(null)";

iOS 8多个弹出窗口-“;警告:试图在*上显示已显示的*内容(null)";,ios,iphone,uipopovercontroller,uipopover,Ios,Iphone,Uipopovercontroller,Uipopover,我有两个uibarbuttoneim,它们都在我的iOS 8应用程序中打开了一个带有导航控制器的popover。两者都是使用故事板设置的,类型为显示为Popover,且“动画”设置为true。“锚定”设置为对应的UIBarButtonItem 在代码中,这是在呈现popover/performing segue之前的配置 override public func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

我有两个
uibarbuttoneim
,它们都在我的iOS 8应用程序中打开了一个带有导航控制器的popover。两者都是使用
故事板设置的,类型为
显示为Popover
,且“动画”设置为true。“锚定”设置为对应的
UIBarButtonItem

在代码中,这是在呈现popover/performing segue之前的配置

override public func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
   if segue.identifier == SEGUE_ID_ADD_ACTION {
        if let actionViewController = (segue.destinationViewController as! UINavigationController).topViewController as? ActionViewController {
            let newAction = Action()
            actionViewController.selectedAction = newAction
            actionViewController.delegate = self
        }
    }
    else if segue.identifier == SEGUE_ID_FILTER {
        let controller = (segue.destinationViewController as! UINavigationController).topViewController as! FilterViewController
        controller.delegate = self
        controller.setup(filter)
        segue.destinationViewController.popoverPresentationController!.delegate = controller
    }
}
显示的两个视图控制器类的popover特定代码都不超过:

let size = CGSizeMake(320, 460)
self.navigationController?.preferredContentSize = size
视图中将出现

我遇到的问题是,当弹出popover A时,我按下按钮打开popover B。日志中会显示一个错误,但什么也没有发生。最好是显示或至少隐藏popover B(类似于单击popover之外的任何其他位置)。日志中的错误:

 Warning: Attempt to present <UINavigationController: 0x7fbdac027000>  on <xxx.ActionListViewController: 0x7fbdac075000> which is already presenting (null)
警告:尝试呈现已呈现的内容(null)
添加

self.navigationController?.popoverPresentationController?.passthroughViews = nil
在popover中包含的viewcontroller中,至少已修复,因此当单击navigationitem中的另一个按钮时,确实会触发另一个popover的关闭