2016-11-28 28 views
0

我正在嘗試獲取包括狀態欄在內的全屏高度,其中的父代爲Navigation Controller(沒有Navigation Bar),它的父代爲ViewControllerViewController包含一個ScrollView(帶紅色背景),它的內容視圖(帶有綠色背景)。沒有Navigation Controller,它按預期工作。下面是它的樣子:在導航控制器下對SuperView.top的頂端限制

enter image description here

但是,只要我添加Navigation Controller父,它看起來像:

enter image description here

這裏是我的自動版式的限制:

enter image description here

+0

這些約束的值是多少?如果SuperView爲0,爲什麼不嘗試將它設置爲例如-18或等價值來覆蓋狀態欄? – Yaman

+0

@Yaman我試過同樣的伎倆。它工作並覆蓋狀態欄區域。但它保持內容視圖可滾動,我不想要。我添加滾動視圖的唯一原因是在彈出鍵盤時滾動整個視圖。 –

回答

1

我試圖複製你的場景和測試iOS 9.不面臨你提到的問題。任何地方我都看不到紅色。這是故事板。

Storyboard

即使你仍然可以得到此問題的其他原因,你可以, 正如壓蔓提到你可以用恆定的-20更改頂部約束,使滾動視圖進入狀態欄和掩護下,整個屏幕。然後,如果你願意,你可以設置UIScrollViewcontentInset屬性,使其頂部向下移動20點。

scrollView.contentInset.top = 20 

這將使可滾動內容在滾動的上邊緣下方移動20個點。

+0

這是有效的。不過,我用baseScrollViewer.contentInset = UIEdgeInsets.zero。這樣我的界面生成器看起來與預期相同。 –