2017-01-23 18 views
0

Iは4つの成分、UITextFieldのUIActivityIndi​​cator及び2 UIButtonsが存在するのUIViewを有します。すべてのコンポーネントがストーリーボードを使用して設定された制約を使用しています。迅速更新制約プログラム

Button1をUITextFieldのUIActivityIndi​​catorボタン2

のUIWebViewのURLを表示し、UIActivityIndi​​catorは、ページの読み込みに対応UITextFieldです。

ページが読み込まれると、UIActivityIndi​​catorが非表示になります。私が欲しいもの

はロードが完了し、ときUIActivityIndi​​catorが、隠されているUITextFieldののサイズが大きくなるとUIActivityIndi​​catorが使用するスペースを使用することです。

Button1のUITextFieldのボタン2

答えて

1

は、ここで私はどうなるのかです:、

ではなくテキストフィールドと活動の指標間の制約を置くテキストフィールド間の制約を使用して、余分なパディングを追加して、それは、スーパーですアクティビティインジケータのためのスペースを確保します。

制約からビューコントローラにドラッグしてコンセントを作成します。

コードでは、アクティビティインジケータを非表示にするときに、アクティビティインジケータの幅にアクティビティインジケータとテキストフィールドの間のスペースを加えた長さだけ、テキストフィールドが広くなるように制約の定数設定を減らします。アクティビティインジケータの隠蔽によって解放されるスペース。

テキストフィールドでアニメートされるようにするには、制約設定を変更するコードの直後にUIView.animate(duration:animations:)を呼び出してlayoutIfNeeded()を呼び出します。レイアウトの変更がアニメ化されます。

+0

チャームのように働いた! –

+0

アウトレットを制約に配線することによってレイアウトを変更するという考えは少し時間がかかりますが、それはオートレイアウトで作業する一般的な方法です。 –