作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已将 NSClickGestrueRecogniser
附加到 Storyboard,然后将 @IBaction
连接到 ViewController,所以我的理解是,这将 View 连接到 View Controller ,从而允许 Controller 了解点击何时发生。
我的目标是当用户单击整个 View 内的任意位置时让 Controller 执行某个功能。
下面是我的类(class)设置
import Cocoa
import WebKit
import Foundation
import AppKit
class SecondViewController: NSViewController, NSGestureRecognizerDelegate {
@IBOutlet weak var webView: WebView!
@IBAction func clickG(gesture: NSClickGestureRecognizer) {
switch gesture.state {
case .Changed: fallthrough
case .Ended:
println("Clicked")
if webView.mainFrameURL.rangeOfString("url") == nil {
println(webView.mainFrameURL)
} else {
println("Success = \(webView.mainFrameURL)")
}
default:
println("Unknown")
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
let urlString = "www.google.com"
let urltest = NSURL(string: urlString)!
self.webView.mainFrame.loadRequest(NSURLRequest(URL: urltest))
}
}
我还设置了 webView,但我想知道何时有人在 webView 或实际 View 中单击。
最佳答案
这并不难做到。只需声明一个 NSClickGestureRecognizer实例。然后传递选择器,例如; Selector("buttonGesture:") 并附加手势识别器。
然后您可以简单地创建一个函数来处理“buttonGesture”事件。您的处理程序将手势对象作为 View 提供。
More information: https://developer.apple.com/library/prerelease/mac/documentation/AppKit/Reference/NSClickGestureRecognizer_Class/index.html
关于xcode - 如何在 Xcode 中将 NSClickGestureRecogniser 与 Swift 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31857118/
我是一名优秀的程序员,十分优秀!