我有一個視圖控制器(NIB)是從兩個不同的地方調用是固定的。當我從一個地方調用它,所有看起來很好,但從另一個它似乎總是有一個20像素(看起來足夠的狀態欄)抵消頂部..查看由約20像素向下推,但是當我旋轉屏幕
如果我旋轉設備這消失了,它看起來OK..I've一直沒有運氣解決此從昨天起 - 據我可以告訴我什麼也沒做不同的,當我加載屏幕..
我真的不知道要貼什麼代碼,因爲從這兩個地方他們都以同樣的方式被調用,我正在尋找任何想法 - 即使這不是一個答案,因爲我似乎沒有想法。
截圖,
我有一個視圖控制器(NIB)是從兩個不同的地方調用是固定的。當我從一個地方調用它,所有看起來很好,但從另一個它似乎總是有一個20像素(看起來足夠的狀態欄)抵消頂部..查看由約20像素向下推,但是當我旋轉屏幕
如果我旋轉設備這消失了,它看起來OK..I've一直沒有運氣解決此從昨天起 - 據我可以告訴我什麼也沒做不同的,當我加載屏幕..
我真的不知道要貼什麼代碼,因爲從這兩個地方他們都以同樣的方式被調用,我正在尋找任何想法 - 即使這不是一個答案,因爲我似乎沒有想法。
截圖,
你嘗試在viewDidLoad
設置edgesForExtendedLayout
?
if (IS_OS_7_OR_LATER && [self respondsToSelector:@selector(edgesForExtendedLayout)]) {
self.edgesForExtendedLayout = UIRectEdgeNone;
}
編輯:這裏是來自蘋果的iOS 7 Transition Guide,如果你想在這是怎麼固定的iOS 7
我曾嘗試過,並得到了相同的結果。我現在唯一的想法是,它是由調用它的viewController引起的,因爲一旦它進入新的viewcontroller,被調用的代碼在兩種情況下都是相同的。 – JDM
我希望這些問題將有助於我們與您查明問題的詳細信息:
您使用的界面生成器或程序調用VC?
你有沒有添加任何或沒有限制?
我最好的猜測是,你試圖從裝載VC:
- (void)viewWillLayoutSubviews
而不是
- (void)viewDidLoad
其原因的建議是,屏幕邊界不正確加載到viewDidLoad中,您可以通過打印檢查self.view.bounds.width
& self.view.bounds.height
。在viewDidLoad中,它們設置不正確。這可能導致許多後來的問題。這只是一個瘋狂的猜測。
希望它有幫助。
我正在以編程方式調用。沒有約束,它不使用自動佈局。即使我使用自動佈局,我也會得到相同的結果。我會檢查邊界.. – JDM
顯示,因爲它可能是一些在'viewDidLoad' /'viewDidAppear'等也都是用你的窗口都打視圖代碼? –
什麼是視圖的'autoresizingMask'?或者,如果您使用自動佈局,則使用其最大距離到父級約束值。 –
修正: 這是呈現VC錯誤的一個實際上是主視圖控制器的孩子的孩子。當我從父母的父母提交它時,它工作正常.. – JDM