我如何关闭 CardView

How Do I Dismiss a CardView

可能有一个明显的答案,但不确定我为什么会漏掉它。

    btn2.addTarget(self, action: #selector(ViewController.dismiss(_:)), forControlEvents: UIControlEvents.TouchUpInside)

    func dismiss(sender: FlatButton){
        self.dismissViewControllerAnimated(true, completion: nil)
}

为了简单起见,我删除了所有不必要的代码。 btn2 代码都在一个单独的函数中。

找到解决方案。

使用

self.cardView.removeFromSuperview()  

可以在单独的函数中访问。

我认为您的问题与选择器有关,它应该如下所示

btn2.addTarget(self, action: #selector(dismiss), forControlEvents: UIControlEvents.TouchUpInside)

分配动作时没有边界,它已经知道不需要viewController.

的功能

如果我们能看到您是如何呈现卡片视图的,那也会有所帮助。根据您的呈现方式,它会改变您摆脱它的方式。如果您的卡片视图不是 UIViewController 的子类,那么它将没有 dismissViewController 函数。