2016-03-26 13 views
1

私は単純なカスタムビューを持ち、サブビューとしてラッピングラベル(複数行ラベル)内にあります。私は制約を設定するためにautolayoutを使いました。MultiLineLabelサブビューでカスタムビューを拡大する

Setup in interface builder

今、私はスーパーのラッピングラベルのすべてのコンテンツを表示するには、そのサイズを変更することを望みます。それをどうすれば実現できますか?折り返しラベンには余分なテキストフィールド(Outlet: "textfeld")の内容が表示されます。

Running

答えて

0

あなたは(他の制約の中で)あなたのラベルに&圧縮抵抗の制約を抱いてコンテンツを設定する必要があります。

ラベルを選択してサイズインスペクタを選択します。これらは、私たちは、これらの制約は、ラベルが&を成長する方法を制御1000にこれらを後押しする必要が約250 & 750のデフォルト値を持っている

enter image description here

:下部に、あなたは制約セクションが表示されますその内容と比較して縮小されますが、そのような低い優先度では、追加する他の自動レイアウト制約が優先されます。したがって、これらの制約の優先順位を1000まで上げる必要があります(必要に応じて最小限に抑える必要があります)。

これで他の自動レイアウト制約を実装するだけで意味があります。あなたは常に上から20個のピクセルで、それはそれぞれの側から少なくとも20ピクセルの境界線を持つようにしたい、とあなたのスーパーを中心場合たとえば、あなたはこのような制約を設定できます:

enter image description here

もちろん、これらの制約により、親ビューが最大幅に制限されていない場合、暗黙的に単語の折り返しが強制されることはないので、親ビューの幅が拡大される可能性があります。ラベルに最大幅の制約を追加することもできます。

enter image description here

+0

あなたの答えはThxですが、何とか動作しません。あなたが言ったことはすべてセットアップしましたが、実行時にテキストを変更すると、私のラベルは1つのライナーのままです。どういうわけかXcodeプロジェクトファイルを送信して確認できますか? –

+0

これは1行にとどまりますが、内容に合わせてラベルの幅が広がりますか?そうであれば、幅と拘束力を拘束するものは何もありません。 – nhgrif

+0

はい固定幅の制約があります。私の最初のスクリーンショット(マルチラインビューの一番下にあります)でも見ることができます。 Interface builderでテキストを追加すると、動作しますが、実行時にテキストの量を変更すると動作します。 –

関連する問題