2011-06-15 49 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