2016-09-16 43 views
3

我在iOS 10和過去常用的自動佈局內容(類似於其他人發佈的關於如何設置後期幀的內容)方面有一段時間。iOS 10中的Autolayout增加高度並使Y位置爲負

我已經完成了所有這些工作,但有一個問題依然存在。

我有一個非常複雜的視圖,一個視圖在另一個視圖中,所有4個邊上的約束與其超視圖匹配。當所有事情完成後,超級視圖的Y值爲141.5,高度爲200(正是它應該是的)。

不幸的是,它內部的視圖(Y應爲0)的Y爲-141.5,高度爲341.5。這意味着內部視圖太高,並且它在其上方的視圖之上呈現。

我已經嘗試了一切,包括設置明確的高度約束,但它都被忽略。

爲什麼不能保持它所屬的位置?這一切都在iOS 9中完美工作。

+0

嘗試在設置約束後通過'[self.view layoutIfNeeded]'強制佈局'http://stackoverflow.com/a/39548367/1045672 – Teffi

+0

實際上,事實證明,您需要限制滾動視圖邊的內容到iOS 10中的滾動視圖,這與我的直覺相反。一旦我開始這樣做,一切都還好。你爲什麼需要這樣做?不知道。 –

+0

當你在scrollview上支持自動佈局時,你是不是會默認這樣做?我所知道的並不是iOS10。 – Teffi

回答

0

雖然我不能明確地說明爲什麼這個問題得到解決,現在很好。我所做的是將viewDidLayoutSubviews中的一些視圖和約束創建移動到viewDidLoad(只有一個標誌)。似乎新版本的佈局引擎對於在遊戲後期添加視圖和約束並不滿意。

相關問題