热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

触摸后取消Popover

如何解决《触摸后取消Popover》经验,为你挑选了2个好方法。

我在我的内部创建了一个弹出窗口,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)        
   }  
}

popover里面有一个View,当我LastViewController使用模态segue 显示点击手势识别器查看它时 ,模态segue是通过Interface Builder创建的,而不是代码使用动作呈现另一个LastViewController

一旦LastViewController被解雇,我回到MainViewController了弹出区仍然打开.

PopOverController中我只有默认代码.

LastViewController.swift

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

上面的代码用于LastViewController在触摸内部按钮时解除.

故事板

在此输入图像描述

一旦另一个LastViewController看到它,或者在另一个LastViewController应该被打开之前,我怎么能解除它?

提前致谢



1> Jageen..:

我已经在这里回答了同样的问题.
场景不同但解决方案是相同的

您必须在完成当前视图控制器时编写用于关闭呈现视图控制器的代码.
在你的dismissVIew方法上写下面的代码LastViewController.swift

 var tmpController :UIViewController! = self.presentingViewController;

        self.dismissViewControllerAnimated(false, completion: {()->Void in
            println("done");
            tmpController.dismissViewControllerAnimated(false, completion: nil);
        });


下载链接



2> Jeremy Pope..:

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

@IBAction func dismissMe() {
//this should tell the popover to tell the main view controller to dismiss it.
    self.presentingViewController!.presentingViewController!.dismissViewControllerAnimated(false, completion: nil)
}


推荐阅读
author-avatar
与天使有染的救赎_164
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有