2017-07-01 26 views
0

我認爲這是一個簡單的問題,但我還沒有設法找到一個解決方案,它讓我瘋狂!斯威夫特 - 屏幕外的容器視圖

我的視圖容器中的一個容器視圖不會遵循我提出的約束。出於某種原因,它會在屏幕之外結束。主視圖控制器包含在我的導航欄下方菜單的另一個視圖(PageMenu)中,但我認爲它不相關。我對PageMenu有另一種看法,當我嘗試將容器視圖放在那裏時,它已被正確顯示。

任何幫助,將不勝感激!

它的外觀運行

How it looks during runtime

約束中設置

The constraints settings

在此先感謝

+0

我們是否正在處理中間視圖? –

+0

這是最底層的一個,被選中的一個。中間的一個覆蓋整個屏幕,但顯示在選定的一個下面一層。 – drante

+0

也上傳截圖頂部和中間視圖的約束也..我想我們可以找出一些東西,然後! –

回答

0

我發現這個問題!我曾嘗試禁用所有其他視圖,以防其約束條件受到干擾,但與它無關。

顯然,視圖是在主視圖之外的34.0像素,這是我的PageMenu菜單的高度。因爲我很懶,所以我在viewDidLayoutSubviews()中修復了它。

override func viewDidLayoutSubviews() { 
    self.calendarViewContainer.frame = CGRect(... 
               y: self.calendarViewContainer.frame.origin.y - 34.0, 
               ... 
} 

有可能是包含在PageMenu莢更好的解決方案,但因爲這是受它的唯一的容器中,我將與此解決方案堅持現在。