2017-03-01 64 views
0

我使用自動佈局,並有對齊的文本字段彼此。但現在,整個應用程序已準備就緒,除了一個文本字段外,還有一個特殊情況,其中eveything將被隱藏。所以我移動這個文本字段與.frame.origin.y有沒有辦法運行.frame.origin.y之前自動佈局

問題是,這個文本字段現在出現在中間一秒,因爲autolauout首先做它的工作。我不想完全關閉autolayout,我只想在autolauout之前就能夠這麼做。

我試圖viewdidappear和viewDidLoad中

回答

1

開始把你的代碼放到viewDidLayoutSubviews。這是自動佈局應用的時刻。使用一個條件來確保你的代碼只在正確的條件下運行,因爲viewDidLayoutSubviews可以在應用程序的生命週期中多次調用,並且大多數時候你不希望它做任何特殊的事情。

請注意,更改frame.origin.y會與您的自動佈局約束產生衝突。做這種事的正確方法是改變約束。您可能需要將插座配置爲所需的約束,以便您可以在代碼中引用它;這樣,你可以改變這個約束條件的constant

+0

Thanx ...這就是我一直在尋找。不得不在這裏即興創作。 –

相關問題