带小滚动条的WebView - 怎么样?

时间:2011-06-15 19:02:23

标签: cocoa

我将WebView放在NSPanel中,并希望它使用小滚动条。 我怎么告诉它? (不能在Interface Builder中完成)

我意识到WebView有许多不同类型的子视图,具体取决于加载的内容。但是假设我正在加载没有框架的网页。什么视图将包含主垂直滚动条?在某处有NSScrollView还是管理不同?

1 个答案:

答案 0 :(得分:3)

文档加载到框架后,您可以访问文档的NSView,然后访问其封闭的滚动视图,允许您将滚动条设置为您想要的大小:

- (void)loadWebView
{
    webView.frameLoadDelegate = self;
    [[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://daringfireball.net"]]];
}

- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame
{
    //get the scroll view that contains the frame contents
    NSScrollView* scrollView = [[[[webView mainFrame] frameView] documentView] enclosingScrollView];
    [[scrollView verticalScroller] setControlSize: NSSmallControlSize];
    [[scrollView horizontalScroller] setControlSize: NSSmallControlSize];
}