2011-06-15 31 views
1

我把一个WebView放在NSPanel中,并希望它使用小的滚动条。 我该如何告诉它? (不能在Interface Builder中完成)带小滚动条的WebView - 如何?

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

回答

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]; 
} 
+0

优秀,就像魅力。谢谢! – 2011-06-16 09:37:44