我从 Swift 开始,有一个非常基本的可以运行的 OSX 应用程序。我已经使用 Storyboard添加了一个 View ,并在其中添加了一个 WebView 。
但是,当鼠标进入该 View 时,我似乎无法运行函数。
这是我的 View Controller 。在底部你可以看到我有一个函数可以在鼠标进入 View 时设置一些窗口属性。
import Cocoa
import WebKit
class ViewController: NSViewController {
@IBOutlet weak var webView: WebView!
@IBOutlet weak var progressIndicator: NSProgressIndicator!
override func viewDidAppear() {
super.viewDidAppear()
let urlString = "http://google.com"
self.webView.mainFrame.loadRequest(NSURLRequest(URL: NSURL(string: urlString)!))
}
override var representedObject: AnyObject? {
didSet {
// Update the view, if already loaded.
}
}
override func webView(sender: WebView!, didStartProvisionalLoadForFrame frame: WebFrame!) {
self.progressIndicator.startAnimation(self)
}
override func webView(sender: WebView!, didFinishLoadForFrame frame: WebFrame!) {
self.progressIndicator.stopAnimation(self)
}
override func mouseEntered(event: NSEvent) {
self.view.window?.titleVisibility = .Hidden
self.view.window?.titlebarAppearsTransparent = true
self.view.window?.styleMask |= NSFullSizeContentViewWindowMask
}
}
任何帮助将不胜感激,谢谢。
最佳答案
要在 NSViewController 中使用 NSResponder 方法(如 mouseEntered:、mouseDown:、mouseUp: 等),您应该为此初始化跟踪区域。
查看“Using Tracking-Area Objects”Apple 指南。
关于macos - 使用 View Controller 运行 mouseEntered 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31836051/