質問

入力されたテキストによって成長しているテキストビューに従ってすべてのビューが更新されるように、私の画面上のビューを管理しようとしています。

私のコントローラーのビューには、2つのサブビューがあります。 View1とView2を呼び出しましょう。 View1には、入力されたテキストによって成長し縮小しているUITExtViewサブビューがあります。

私が持っている問題は、そのView1とView2が成長して縮小しないであろうとしています。 TextViewの下からの垂直方向の間隔の制約定数は、それがスーパービューから10pxに設定されています。 View1とView2の間の垂直方向の間隔は0に設定されています。ここでは、ビューの視覚的表現です。

 ---------------------
|                     |
|  -----------------  |
| |   UITextView    | |
|  -----------------  |
|        view1        |
 ---------------------
|                     |
|                     |
|                     |
|                     |
|        view2        |
|                     |
|                     |
|                     |
|                     |
|                     |
 ---------------------
.

テキストをテキストに追加するのは、

になっている間に入っている結果です。
 ---------------------
|                     |
|  -----------------  |
| |   UITextView    | |
| |                 | |
| |                 | |
 ---------------------
|                     |
|                     |
|                     |
|                     |
|        view2        |
|                     |
|                     |
|                     |
|                     |
|                     |
 ---------------------
.

しかし望ましい行動は、以下の行に沿ったものになるでしょう:

 ---------------------
|                     |
|  -----------------  |
| |   UITextView    | |
| |                 | |
| |                 | |
| |                 | |
| |                 | |
| |                 | |
|  -----------------  |
|        view1        |
 ---------------------
|                     |
|                     |
|        view2        |
|                     |
|                     |
|                     |
 ---------------------
.

奇妙なことは、テキストを追加して送信(簡単にするためにダイアグラムに追加されずに)を追加したら、View2と同様に、ビュー2は正しいサイズに成長しますが、入力している間は正しいサイズになります。

SetNeedSupDateConstraintsまたはUpdateConstraintSifneededを明示的に呼び出す必要がありますか?もしそうなら、どこに?テキストビューの委任TextViewDidChangeからそれを呼び出してみました:しかし何も役に立ちませんでした。

あらゆる助けが大いに評価されるでしょう。

役に立ちましたか?

解決

私はこれを理解することができました。

これを読んで同じ問題を読んで、私がそれを私自身のサブクラスを書くことは、高さ制約といくつかの委任状方法を与えることでした。

テキストビューの高さを変更するときは、単にデリゲート方式を発光してください(例えばTextViewDidChangeHeight :)。その後、デリゲートコールバック実装で、ビューでSizetoFitと呼ばれます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top