2013-07-14 47 views
0

我想在我的應用中使用UIWebView實現自定義瀏覽器。 XIB文件的頂部有一個地址欄35px,底部的導航欄是35px。所以,我在viewDidLoad()中動態地添加了webView。這是我如何設置的WebView的框架,iOS:查看高度沒有加起來

webView.frame=CGRectMake(0, top.frame.size.height, self.view.frame.size.width, self.view.bounds.size.height-(top.frame.size.height+bottom.frame.size.height)); 

我以爲這會做的伎倆和web視圖將在地址和導航欄之間正好解決。但是,在設備或模擬器上運行時,Web視圖很容易覆蓋導航欄。這些是控制器中視圖的相應高度。

self.view.bounds.size.height = 548.000000,top.view.bounds.size.height = 35,bottom.view.bounds.size.height = 35

我不知道什麼的問題是。有人能讓我知道嗎?

+0

你試圖把在'viewDidLayoutSubviews'這一行? –

+0

謝謝,這樣做的工作。你可以讓我知道爲什麼值self.view.bounds.size.height是不同的viewDidLoad()和viewDidLayoutSubviews()?在第一種情況下,高度爲548,而在另一種情況下,高度爲460. – rahul

+0

「viewDidLoad」中的視圖佈局未完成,因此直到後來在視圖控制器生命週期中尺寸纔是準確/可靠的。 – bobnoble

回答

0

不要硬編碼幀大小。從上海華盈的觀點得到目標大小:

`webView.frame = self.view.bounds;` 

,並確保您的網絡觀點的autoresizingMask設置爲:

`UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight`.