在 NSScrollView 中禁用 WKWebView 的滚动



我想在 Swift 的 macOS 上的 NSScrollView 中禁用我的 WKWebView 的滚动。

我找到了一种使用 css 禁用 WKWebView 内部滚动的方法,因为 WKWebView 仍然会阻止 NSScrollView 滚动。

有人知道怎么做吗?

子类WKWebView并实现以下方法:

- (void)scrollWheel:(NSEvent *)event {
    // pass web view scroll events to the next responder. comment
    // this line out if you just want to disable scrolling 
    // altogether.
    //
    [[self nextResponder] scrollWheel:event];
}

Swift 回答:

public class NoScrollWKWebView: WKWebView {
    public override func scrollWheel(with theEvent: NSEvent) {
        nextResponder?.scrollWheel(with: theEvent)
    }
}

最新更新