2016-01-21 33 views
0

我有一個viewcontroller嵌入導航和tabbar視圖控制器。我假定self.view幾何上是從導航欄底部開始的界限和標籤欄的頂部。這是我在網上閱讀的內容。通過viewWillAppear,視圖被調整大小從本質上減去標籤和導航欄。但是,這並不適合我。當我註銷我的視圖框架時,它是一樣的... {{0, 0}, {375, 667}}。在viewDidLoad,viewDidLayoutSubview,willAppear,didAppear它是同一幀。因此,如果我將imageView作爲self.view的子視圖與框架(0,0,screenWidth, 200)。該imageView出現在導航欄中。在我的閱讀中,這不是標準的行爲。Root ViewController View沒有考慮TabBar和NavBar

回答

0

如果你想你的UIViewController開始把這個viewDidLoad中的導航欄下方:

self.edgesForExtendedLayout = UIRectEdgeNone; 
+0

我仍然無法改變我的觀點的框架。這似乎導致了一個不同的框架,一個較低的高度。但如果我創建一個新的視圖,並將其分配給viewWillAppear中的self.view,它會忽略該視圖並註銷同一個框架。 –

+0

我發佈的代碼根本不會改變框架。它只能防止UIViewController在導航欄下面延伸。爲了幫助你調試問題,在UIViews – metronic

+0

周圍放置了一些邊框,它確實改變了視圖。視圖的高度實際上是現在屏幕高度減去狀態+標籤+導航欄。它只是我無法在任何視圖*方法中手動更改框架。 –