如何使用swift将多个控制器呈现为弹出窗口

时间:2016-08-17 08:03:57

标签: ios iphone swift uiviewcontroller popup

我有一个UITableViewController UIViewController来自我的segue UITableViewCell。在// Function that is displaying my image(s) in my AppDelegate func showFullScreenImage(imageURL : String, imageArray : [String]) { if AppDelegate.DeviceType.IS_IPAD { let controller = UIStoryboard(name: "Storyboard_iPad", bundle: nil).instantiateViewControllerWithIdentifier("fullScreenImageViewController") as! FullScreenImageViewController controller.popoverPresentationController?.sourceView = self.window!.rootViewController!.view controller.popoverPresentationController?.permittedArrowDirections = UIPopoverArrowDirection() controller.popoverPresentationController?.sourceRect = CGRectMake(self.window!.rootViewController!.view!.frame.width/2, self.window!.rootViewController!.view!.frame.height/2, 1, 1) controller.mImageArray = imageArray self.window!.rootViewController!.presentViewController(controller, animated: true, completion: nil) controller.loadImage(imageURL) } } 中,我有一个我从AppDelegate呈现为popover的图像(因为呈现图像的功能可以在我的应用程序中随处调用)。

我的问题:我当时不能提供超过1个控制器,我被迫关闭当前控制器以显示我的图像。

这里有一些代码:

func displayImageFromComment(imageUrl: String, listImage: [String]) {
    self.dismissViewControllerAnimated(true) {
        (UIApplication.sharedApplication().delegate as! AppDelegate).showFullScreenImage(imageUrl, imageArray: listImage)
    }
}

这就是我在展示我的图片时所做的事情:

UIViewController

如果我不解雇,我会收到此错误:

  

警告:尝试在MyApp.RootViewController上显示MyApp.FullScreenImageViewController:0x196530c0:0x17e0f560已经呈现MyApp.BoardViewCommentsController:0x181de000

执行此操作后,当我关闭显示图像的控制器时,我回到主UITableViewController,而不是我的p { font-family: 'AsciiSans' , '游ゴシック体' , 'Yu Gothic' , YuGothic , Meiryo , 'Hiragino Kaku Gothic Pro' , sans-serif }

1 个答案:

答案 0 :(得分:0)

终于使用我modal segue中的UITableViewController到显示我的图片的控制器。

它运作正常。