swift - 如何使自定义 View 及其上方的 NSButton 在 macOS swift 中可点击?

标签 swift macos nsview nsviewcontroller

我在 NSView 中有 NSButtonNSViewNSClickGestureRecognizer。现在我可以从具有 NSClickGestureRecognizerNSView 获取 action。但问题是 NSButton 无法点击。

我该如何解决这个问题?

代码:

import Cocoa

class ViewController: NSViewController {

    @IBAction func actionGesture(_ sender: NSClickGestureRecognizer) {

        print("Gesture Clicked!")
    }

    @IBAction func actionButton(_ sender: NSButton) {
             print("Button Clicked!")
    }

}

截图:

enter image description here

项目链接: https://drive.google.com/open?id=1HmbKiqdF9z7SH131IyyfJ21j8KOgabzl

最佳答案

解决这个问题最简单的方法是如下图所示安排 View 结构。所以连接到 NSClickGestureRecognizer 的 View 在按钮后面。

enter image description here

希望对你有帮助

关于swift - 如何使自定义 View 及其上方的 NSButton 在 macOS swift 中可点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50548211/

相关文章:

c++ - 如何在 Mac OS 的 C/C++/Objective-C 中找出 SystemUIServer 进程的 PID?

objective-c - 很难理解 NSBezierPath 的 curveToPoint : method

ios - 如何在uiTableViewCell 内的uiTextField 下画一条线?

swift - 其 View 不在窗口层次结构中的 UIAlertController

swift - 如何在 Swift 中显示 NSData 中的 PDF - 如何将 PDF 保存到文档文件夹 Swift - 如何在 Swift 中通过 WebView 显示保存的 NSData 中的 PDF

macos - 关闭 nspopover 不起作用

swift - 如何基于中心倾斜 NSView?

objective-c - 动画同级 NSView

objective-c - 如何获取 QLPreviewView 内容并写入图像

ios - SwiftUI 中 $varName 和 _varName 有什么区别