如何实现模态视图表单的“X”关闭按钮

时间:2013-10-17 02:06:08

标签: ios cocoa-touch uiviewcontroller uibutton modalviewcontroller

据我所知,已经有人问过同样的问题了,我仍然没有运气来实现" X"表单工作模式视图角落中的按钮。

我可以在屏幕截图HERE中看到我想要实现的完美示例。 (如果有> = 10位代表的人可以通过在此处发布此图片来帮助我编辑此帖子,我将不胜感激。谢谢)

徒劳无功,我尝试在模态视图的View Controller类的viewDidLoad中实现一个UIButton,框架为CGRectMake(-10, -10, 20, 20),但正如预期的那样,按钮没有&#t;# 34;悬停"在模态视图的左上角按预期。

我偶然发现的一些问题:

我已经有了#34;点击外部模态视图以解雇"工作,现在我需要在HCI的顶部有一个小关闭按钮。感谢您的时间!干杯!

2 个答案:

答案 0 :(得分:0)

如果没有看到您的代码,很难提供代码级别的帮助,但我相信您可以在此cocoa控件github源代码的代码中找到答案。它有一个模态弹出窗口和一个用于关闭它的x按钮。您可以添加任何类型的uiview。无论值得什么,这里都是源代码的链接:

https://github.com/rnystrom/RNBlurModalView

答案 1 :(得分:0)

在尝试弄清楚如何取消工作表视图时,我遇到了类似的问题。从我所阅读的内容来看,必须通过显示它的视图将其解散。视图控制器具有对当前视图的引用,因此工作表视图请求其父项关闭工作表(自身)。

使用按钮实现后,我发现了有关cancelOperation的信息,该信息捕获了esc或“ command-”。都可以。

我不确定这是否是正确的做法,但对我来说(到目前为止)有效。

class PopupSheet : NSViewController {
    // dismiss if ok button is clicked
    @IBAction func buttonClicked(_ sender: Any?) {
        self.presentingViewController?.dismiss(self)
    }
    // dismiss if esc or command-. is pressed
    override func cancelOperation(_ sender: Any?) {
        self.presentingViewController?.dismiss(self)
    }
}