xcode – 以编程方式swift将NSClickGestureRecognizer添加到NSButton

xcode – 以编程方式swift将NSClickGestureRecognizer添加到NSButton,第1张

概述我有这个代码生成多个NSButton: var height = 0var width = 0var ar : Array<NSButton> = []var storage = NSUserDefaults.standardUserDefaults()height = storage.integerForKey("mwHeight")width = storage.integer 我有这个代码生成多个NSbutton:

var height = 0var wIDth = 0var ar : Array<NSbutton> = []var storage = NSUserDefaults.standardUserDefaults()height = storage.integerForKey("mwHeight")wIDth = storage.integerForKey("mwWIDth")var x = 0var y = 0var k = 1for i in 1...height {    for j in 1...wIDth {        var but = NSbutton(frame: NSRect(x: x,y: y + 78,wIDth: 30,height: 30))        but.tag = k        but.Title = ""        but.action = Selector("buttonpressed:")        but.target = self        but.bezelStyle = NSBezelStyle(rawValue: 6)!        ar.append(but)        self.vIEw.addSubvIEw(but)        x += 30        k++    }    y += 30    x = 0}

我需要为每个人添加NSClickGestureRecognizer以识别鼠标左键单击.有没有办法以编程方式做到这一点?

解决方法 这应该工作:

let g = NSClickGestureRecognizer()g.target = selfg.buttonMask = 0x2 // right buttong.numberOfClicksrequired = 1g.action = Selector("buttonGestured:")but.addGestureRecognizer(g)

然后

func buttonGestured(g:NSGestureRecognizer) {    deBUGPrintln(g)    deBUGPrintln(g.vIEw)    if let v = g.vIEw as? NSbutton {        deBUGPrintln("tag: \(v.tag)")    }}
总结

以上是内存溢出为你收集整理的xcode – 以编程方式swift将NSClickGestureRecognizer添加到NSButton全部内容,希望文章能够帮你解决xcode – 以编程方式swift将NSClickGestureRecognizer添加到NSButton所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1007449.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存