macos - 使用 View Controller 运行 mouseEntered 函数

标签 macos swift cocoa

我从 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/

相关文章:

windows - 与 PhoneGap 紧密相关的桌面发布平台?

macos - Git、Tower 和 Sourcetree

ios - AudioKit iOS : how can an input node be dynamically connected to mixer in active chain?

ios - 如何检测点击次数

objective-c - kCGWindowSharingState 实际上做了什么?

c - 错误 : file was built for unsupported file format which is not the architecture being linked (x86_64)

macos - 升级到10.13 high-sierra后Meld无法启动

ios - 我可以将replaceCurrentItemWithPlayerItem与AVQueuePlayer一起使用吗?

iphone - 在 objective-c 中编写一个简单的 c++ 函数

ios - 使用具有外部 cocoa pod 依赖项的 Swift 创建静态库