Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 从webview中删除弹性_Macos_Cocoa_Webview - Fatal编程技术网

Macos 从webview中删除弹性

Macos 从webview中删除弹性,macos,cocoa,webview,Macos,Cocoa,Webview,我有一个网络视图,我想消除弹性。现在,当滚动一个比webview小的页面时,它会产生一种弹性效果,显示下面的背景。我想删除这个 我试过做以下几件事,但没有成功。它会找到WebDynamicScrollBarsView,但设置此视图的弹性不会改变任何内容 - (void)awakeFromNib { NSScrollView *scrollView = [self findScrollViewInSubviews:self.subviews]; scrollView.horizon

我有一个网络视图,我想消除弹性。现在,当滚动一个比webview小的页面时,它会产生一种弹性效果,显示下面的背景。我想删除这个

我试过做以下几件事,但没有成功。它会找到
WebDynamicScrollBarsView
,但设置此视图的弹性不会改变任何内容

- (void)awakeFromNib
{
    NSScrollView *scrollView = [self findScrollViewInSubviews:self.subviews];
    scrollView.horizontalScrollElasticity = NSScrollElasticityNone;
    scrollView.verticalScrollElasticity = NSScrollElasticityNone;
}

- (NSScrollView *)findScrollViewInSubviews:(NSArray *)subviews
{
    for (NSView *view in subviews)
    {
        if ([view isKindOfClass:[NSScrollView class]])
            return (NSScrollView *) view;
        else
            return [self findScrollViewInSubviews:view.subviews];
    }

    return nil;
}
有人知道如何从webview中消除弹性效应吗?

在我的webview子类中(或者你可以直接使用
webview.mainFrame.frameView.documentView.enclosingScrollView
,但这对我个人来说更容易做到)

然后在完成加载时,正如安妮在我输入答案时所说的那样:)


我不确定是否有必要在内容加载后执行此操作,但我现在没有带mac电脑来尝试。

哦,对不起!我正在删除答案。以下操作应该有效:
webView.mainFrame.frameView.documentView.EnclosuringScrollView.verticalScrollElasticity=NSScrollElasticityNone@Anne很遗憾,这没有任何效果。这解决了它。谢谢!:-)这需要在加载内容后完成,因为它似乎在didCommitLoadForFrame和didFinishLoadForFrame之间重置
// return the scroll view that we are currently using, if applicatble
- (NSScrollView *)mainScrollView {
    return [[[[self mainFrame] frameView] documentView] enclosingScrollView]; // can be nil
}
- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame {
    NSScrollView *mainScrollView = [sender mainScrollView];
    [mainScrollView setVerticalScrollElasticity:NSScrollElasticityNone]; 
    [mainScrollView setHorizontalScrollElasticity:NSScrollElasticityNone];
}