触摸后关闭弹出窗口

问题描述 投票:8回答:6

[我在MainViewController内创建了一个弹出框,当它使用UIPopoverPresentationController触摸某些按钮时,就像在WWDC 2014中所显示的那样,将其设置为代表,如下所示:

MainViewController.swift

class MainViewController : UIViewController, UIPopoverPresentationControllerDelegate {

   @IBAction func showPopover(sender: AnyObject) {

      var popoverContent = self.storyboard?.instantiateViewControllerWithIdentifier("PopOverViewController") as UIViewController

      popoverContent.modalPresentationStyle = UIModalPresentationStyle.Popover
      var popover = popoverContent.popoverPresentationController

      popoverContent.preferredContentSize = CGSizeMake(250, 419)
      popover!.delegate = self
      popover!.sourceView = self.view
      popover!.sourceRect = CGRectMake(180,85,0,0)

      self.presentViewController(popoverContent, animated: true, completion: nil)        
   }  
}

弹出框内部有一个View,当用Tap Gesture Recognizer单击该视图时,我使用模态序列显示LastViewController,模态序列是通过Interface Builder创建的,而不是通过代码使用动作来呈现另一个LastViewController

一旦LastViewController被解雇,而我又回到了MainViewController,弹出框将保持打开状态。

PopOverController]里面,我仅具有默认代码。

LastViewController.swift

@IBAction func dismissVIew(sender: AnyObject) {        
    self.dismissViewControllerAnimated(true, completion: nil)
}

上面的代码用于在触摸内部按钮后关闭LastViewController

故事板

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9QRGZrbi5wbmcifQ==” alt =“在此处输入图像描述”>

一旦看到另一个LastViewController,或者在应该打开另一个LastViewController之前,我怎么能关闭弹出框?

提前感谢

[我在MainViewController内创建了一个弹出框,当它使用UIPopoverPresentationController触摸某些按钮时,就像在WWDC 2014中一样,将其设置为委托,在...

swift ios8 uipopovercontroller
6个回答
18
投票

我已经通过here回答了相同的问题


6
投票

在FinalViewController上的按钮操作中,您是否尝试过:


1
投票

这是我要怎么做。


0
投票

在视图控制器内部,您可以覆盖viewWillAppear()


0
投票

弹出框内部有一个View,当使用Tap Gesture Recognizer单击该View时,我会使用模式搜索显示另一个ViewController。


0
投票

基于@Jageen的回答

© www.soinside.com 2019 - 2024. All rights reserved.