2011-12-27 1 views
0

私はそれがUILabelsを含むべきUIViewを持っていて、これらのUILabelsはUILabelがnilであれば固定されていません。表示されていない場合はUILabelをテキストに合わせてサイズ変更する必要があります(2 ligne)別のUILabelの下に置いて、このUILabelsの量だけUIViewコンテナのサイズを変更する必要があります。この私がプログラムでやりたいスクリーンショット:どのようにUILabelsの量のUIViewのサイズを変更し、テキストに合わせてUILabelsのサイズを変更できますか?

あなたがラベル=

  1. lineBreakMode
  2. numberOfLine

使用の2つのプロパティを次のように使用する必要が

enter image description here

答えて

0

これらの両方のプロパティは、あなたが望むものを達成します。

+0

そして、どのように私はサイズを変更することができますこのUILabelsの量のUIView –

+0

からのサイズ変更は、これらのラベルに従って表示の高さを意味しますか? – rishi

+0

UILabelに2リグが必要かどうかはどうやって分かりますか? –

0

UILabelsは自動的にフォントを小さくすることで大量のテキストに適合することができます(Interface Builderの最小フォントサイズの値を参照)。ラベルの代わりに、私はUITextViewsを使用します。ユーザーがスクロールできるようにすることで、大量のテキストを収めることができます。それらを非表示にするには、UITextViewの隠しセレクタ属性を変更します。 UITextViewのサイズは決して変更されないので、UITextViewごとにUIViewコンテナの高さをどれだけ減らすかを簡単に計算できます。お役に立てれば!

0

ラベルの高さ(具体的には元の高さからの高さ)を1つずつ計算する必要があると思います。もちろん、配列内のすべてのラベルを持つことで系統的にこれを行うことができます。

高さを計算するには、[NSString sizeWithFont:]メソッド(名前が似ているものがいくつかあります)を使用できます。

http://developer.apple.com/library/ios/#documentation/UIKit/Reference/NSString_UIKit_Additions/Reference/Reference.html

0

あなたが同じフォントサイズを維持したいならば、あなたは、テキストの長さに応じて、実行時にラベルのフレームサイズを計算することができます。.. See here

関連する問題