2017-03-01 98 views
0

我使用自动布局,并有对齐的文本字段彼此。但现在,整个应用程序已准备就绪,除了一个文本字段外,还有一个特殊情况,其中eveything将被隐藏。所以我移动这个文本字段与.frame.origin.y有没有办法运行.frame.origin.y之前自动布局

问题是,这个文本字段现在出现在中间一秒,因为autolauout首先做它的工作。我不想完全关闭autolayout,我只想在autolauout之前就能够这么做。

我试图viewdidappear和viewDidLoad中

回答

1

开始把你的代码放到viewDidLayoutSubviews。这是自动布局应用的时刻。使用一个条件来确保你的代码只在正确的条件下运行,因为viewDidLayoutSubviews可以在应用程序的生命周期中多次调用,并且大多数时候你不希望它做任何特殊的事情。

请注意,更改frame.origin.y会与您的自动布局约束产生冲突。做这种事的正确方法是改变约束。您可能需要将插座配置为所需的约束,以便您可以在代码中引用它;这样,你可以改变这个约束条件的constant

+0

Thanx ...这就是我一直在寻找。不得不在这里即兴创作。 –

相关问题