我正在使用autolayout并且已经将对齐的文本字段彼此对齐。但是现在整个应用程序都准备就绪,有一个特殊情况,除了一个文本字段外,将隐藏eveything。所以我用.frame.origin.y
移动这个文本字段问题是这个文本字段现在出现在中间一秒钟,因为autolauout首先完成它的工作。我不想完全关闭自动布局,我只想在自动布局之前能够这样做。
我尝试了viewdidappear和viewdidload的开头
答案 0 :(得分:1)
将您的代码放入viewDidLayoutSubviews
。这是应用自动布局的时刻。使用条件确保您的代码仅在正确的条件下运行,因为viewDidLayoutSubviews
可以在应用程序的生命周期中多次调用,并且大多数时候您不希望它执行任何特殊操作。
请注意,更改frame.origin.y
会导致与您的自动布局限制发生冲突。执行此类操作的正确方法是更改约束。您可能需要将插座配置为所需的约束,以便您可以在代码中引用它;这样,您就可以更改该约束的constant
。