2012-07-13 38 views
1

我有一個ViewController,頂部有一個UIToolBar,底部有一個UIWebView。 WebView填充視圖的整個剩餘部分,並設置爲伸展,錨定在頂部和左側。顯示UIToolBar後重新調整UIWebView

網頁的內容長度爲3-4個屏幕,但是當我向下滾動瀏覽WebView時,我可以看到所有內容。但是,如果我動態地隱藏UIToolBar,然後重新顯示它,那麼WebView最終會變得「太大」 - 實際上它比ViewController中可用的空間更長,所以現在當我瀏覽我的4頁內容時,我到了底部,它往往會「反彈」,並且不會顯示網頁內容的下半英寸。

是否有隱藏UIToolBar後重新調整webview大小的方法?

+0

只需設置一個新框架!?也許我們需要一些截圖來理解它。但是,如果你在談論webview的內部滾動視圖。不 - 你不能自己控制內容大小。你可以嘗試刷新它,但可能不需要。 – calimarkus 2012-07-13 20:15:37

+0

內容不是問題......它是webview本身超出了父視圖的界限,因此內容的底部部分在視圖之下。 – bugfixr 2012-07-13 20:42:14

回答

0

webView.frame = self.view.frame

導航欄應該做的伎倆隱藏後

。還嘗試

webView.scrollView.alwaysBounceVertical = NO;

來嘗試消除彈跳如果具有不期望的影響它。乾杯!

+0

不錯,很容易,謝謝:) – bugfixr 2012-07-13 20:25:45

+0

我說得太快......它實際上不起作用。看,當工具欄被隱藏時,webview似乎已經重新調整大小。問題是當工具欄返回時,它不會調整大小。所以在這種情況下,'webView.frame = self.view.frame'會導致工具欄與webview重疊。 – bugfixr 2012-07-13 20:39:36

+0

所以拉下框架(CGRect wFrame = self.view.frame),然後將wFrame.origin.y設置爲toolbar.frame.origin.y + toolbar.frame.size.height,然後將webView.frame設置爲工具欄重新出現時的wFrame。 – jacerate 2012-07-13 21:53:27

0

調整webview的大小並不是必須的。您應該改用自動調整大小蒙版,如下所示:

webView.autoresizingMask = UIViewAutoresizingFlexibleHeight