2017-03-01 3 views
0

私はautolayoutを使用しており、テキストフィールドをそれぞれに整列させています。しかし、アプリケーション全体が準備完了したので、1つのテキストフィールドを除いて、何かが隠される特別なケースがあります。だからこのテキストフィールドを.frame.origin.yで移動する自動レイアウトの前に.frame.origin.yを実行する方法はありますか?

問題は、このテキストフィールドが1秒間中に現れることです。なぜなら、autolauoutはそのジョブを最初に実行するからです。私はautolayoutを完全にオフにしたくない、私はちょうどautolauoutの前にそうすることができるようにしたい。

私はviewdidappearを試してみましたが、のviewDidLoad

答えて

1

の始まりはviewDidLayoutSubviewsにあなたのコードを入れてください。それは自動レイアウトが適用される瞬間です。アプリケーションの有効期間中にviewDidLayoutSubviewsが何度も呼び出される可能性があるため、条件を使用して適切な条件でコードが実行されるようにしてください。ほとんどの場合、特別な操作は望ましくありません。

frame.origin.yを変更すると、自動レイアウト制約と競合することに注意してください。このようなことを行う正しい方法は、の制約を変更することです。コンセントをコード内で参照できるようにコンセントを必要な制約に設定する必要があるでしょう。そうすれば、その制約のconstantを変更することができます。

+0

Thanx ...それは私が探していたものです。ここで即興化しなければならなかった。 –

関連する問題