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