内容の保証はできません。


/System/Library/frameWorks/UIKit.framework

クラス UILabel

NSObject
  |
  +--UIResponder
      |
      +--UIView
          |
          +--UILabel

概要

UILabelクラスは読み取り専用のテキストビューを実装しています。このクラスで1行か複数行の静的テキストを描画することができます。ユーザーインタフェースの他の部分を識別するためにも使われます。テキストの外観を制御したり、影やハイライトを付加することもできます。必要であれば、サブクラス化することにより、テキストの外観をカスタマイズすることができます。

UILabelクラスのデフォルトコンテンツモードはUIViewContentModeRedrawです。このモードは、強制的にビューのコンテンツを無効にして、ビューのdrawRect:メソッドを呼び出します。これは、矩形境界が常に再描画される要因となります。クラスが継承するコンテンツモードプロパティを変更することでこのモードを変更することができます。

新しいラベルオブジェクトをはデフォルトではユーザーイベントを無視するように構成されています。もしUILabelのカスタムサブクラスでイベントを処理するには、オブジェクト初期化後のuserInteractionEnabledプロパティの値を明示的にYESにする変更する必要があります。

インデックス

テキスト属性にアクセス

text property
font property
textColor property
textAlignment property
lineBreakMode property
enabled property

テキストのサイズ変更

adjustsFontSizeToFitWidth property
baselineAdjustment property
minimumFontSize property
numberOfLines property

ハイライト値の操作

highlightedTextColor property
highlighted property

影の描画

shadowColor property
shadowOffset property

描画と配置のオーバーライド

- textRectForBounds:limitedToNumberOfLines:
- drawTextInRect:

セッター/ゲッターの属性

userInteractionEnabled property

プロパティ

adjustsFontSizeToFitWidth

ラベルの矩形境界の中のタイトル文字列にあわせてフォントサイズを縮小するかどうかを指定する。 通常ラベルテキストの場合は、フォントプロパティに指定したフォントで描かれている。このプロパティがYESの場合は、テキストのフォントサイズがラベルの矩形境界を超えてしまったときに、文字列が収まるか最小フォントサイズに達するまでフォントサイズを縮小する。このプロパティのデフォルト値はNOであり、変更する場合にはminimumFontSizeプロパティを変更することで適切な最小フォントサイズを設定する必要がある。

@property(nonatomic) BOOL adjustsFontSizeToFitWidth

baselineAdjustment

テキストをラベルにあわせて縮小させる必要があるとき、テキストのベースラインの調整を制御する。このプロパティは、フォントサイズの調整が必要な状況下で、テキストのベースラインへの作用を制御する。デフォルトはUIBaselineAdjustmentAlignBaseLinesに設定されている。

@property(nonatomic) UIBaselineAdjustment baselineAdjustment

enabled

このプロパティは、ラベルが利用可能かどうかを決定する。利用不可能なテキストは淡色で表示され非アクティブである。デフォルト:YES

@property(nonatomic, getter=isEnabled) BOOL enabled

font

テキストのフォントを指定する。このプロパティは全てのテキスト文字列に適用される。このプロパティのデフォルト値、システムフォントサイズは17である。プロパティの値をnilに設定すると例外が発生する。

@property(nonatomic, retain) UIFont *font

highlighted

ハイライトが有効であるかどうかを指定する。このプロパティを設定する事で、適切な強調表示の状態でレシーバが再描画される。このプロパティの設定をYESまたはNOに変更する操作が行われたときにハイライトで再描画させるためには、highlightedTextColorプロパティの値がnil以外である必要がある。デフォルト:NO

@property(nonatomic, getter=isHighlighted) BOOL highlighted

highlightedTextColor

ハイライトが適用されたテキストの色を指定する。highlightedプロパティがYESにセットされたらこの色は自動的にラベルに適用される。デフォルト:nil

@property(nonatomic, retain) UIColor *highlightedTextColor

lineBreakMode

ラベルのテキストをトラッキング、ラッピングするための処理方法を指定する。このプロパティが有効な場合、フォントサイズをラベルの矩形境界に合うように縮小する必要がある。このプロパティはデフォルトではUILineBreakModeTailTruncationに設定されている。

@property(nonatomic) UILineBreakMode lineBreakMode

minimumFontSize

ラベルのテキストを描画する際に許容できる最小のフォントサイズを指定する。テキストを描画する際にはラベルの矩形境界に適合しない可能性があるため、それを防ぐためにテキストのフォントサイズを矩形境界に沿って縮小する事が可能である。このプロパティはデフォルトでは0.0であるが、ラベルのフォント調整を有効にした場合、この値を常にデフォルト値より大きくする必要がある。

@property(nonatomic) CGFloat minimumFontSize

numberOfLines

テキストレンダリングのために行の最大数を指定する。このプロパティでは、矩形の境界を制御するためにテキストの最大行数を指定する。デフォルト値は1である。任意の行数の上限を無くす為には、プロパティの値を0にすればよい。ラベルの矩形境界を超える場合にはlineBreakModeで適切なモードを利用すること。sizeToFitメソッドを使用して、レシーバがリサイズされた時、レシーバはリサイズのサイズにこのプロパティの値を格納する。 例えばこのプロパティの値が3にセットされていたなら、sizeToFitメソッドは3行のテキストを表示するのに十分な大きさでレシーバをリサイズする。

@property(nonatomic) NSInteger numberOfLines

shadowColor

テキストの影の色を指定する。このプロパティのデフォルト値は、影の描画がない事を示しているnilである。このプロパティのデフォルト値を変更する事で、shadowOffsetプロパティのデフォルト値が変更される場合がある。テキストの影はオフセットと色とかすみ具合を指定して描かれる。

@property(nonatomic, retain) UIColor *shadowColor

shadowOffset

テキストの影のオフセットを指定する。このプロパティは、影の色以外にも任意の効果があるため、プロパティ値はnil以外にする必要がある。デフォルトのオフセットの大きさである(0, -1)は、一点のテキストの上に影を示している。テキストの影はオフセットと色とかすみ具合を指定して描かれる。

@property(nonatomic) CGSize shadowOffset

text

ラベルによって表示されるテキストを指定する。

@property(nonatomic, copy) NSString *text

textAlignment

テキスト整列のための処理法方を指定する。このプロパティは、全てのテキスト文字列に適用される。プロパティのデフォルト値はUITextAlignmentLeftに設定されている。

@property(nonatomic) UITextAlignment textAlignment

textColor

テキストの色を指定する。このプロパティは全てのテキスト文字列に適用される。プロパティのデフォルト値はUIColorクラスのblackColorに設定されている。プロパティ値をnilにすると例外が発生する。

@property(nonatomic, retain) UIColor *textColor

userInteractionEnabled

ユーザのイベントが無視されるかどうかとイベントキューからの削除を決定する。このプロパティは、親クラスであるUIViewから継承されている。親クラスがこのプロパティのデフォルト値をNOに変更することがある。

@property(nonatomic, getter=isUserInteractionEnabled) BOOL userInteractionEnabled

インスタンスメソッド

drawTextInRect:

指定した矩形でテキスト(またはその影)を描画する。このメソッドを直接呼び出してはならない。このメソッドは、テキストのデフォルトの描画の作用を変更したい場合、サブクラスによってのみオーバーライドされるべきである。このメソッドが呼び出されるときには、現在のグラフィックスコンテキストは既にデフォルトの描画環境と描画色で構成されている。オーバーライドメソッドでは、現在のコンテキストをさらに構成することができ、"スーパー"を呼び出すことで、実際の描画や自らの描画を構成することも出来る。自分のテキストのレンダリングを行う際には、"スーパー"を呼び出してはならない。

注記:例として、影付きのテキストをラベルで描画する時、このメソッドは2回連続して呼ばれ、最初は影を描画して次にテキストを描画する可能性がある。

- (void)drawTextInRect:(CGRect)rect

textRectForBounds:limitedToNumberOfLines:

テキストの描画矩形を返す。このメソッドを直接呼び出してはならない。他の計算を実行する前に、レシーバの矩形境界を変更するにはサブクラスでオーバーライドする必要がある。numberOfLinesのパラメータの値を使用する事で返された長方形の高さを制限することができる。このメソッドのデフォルトでの実装では、元の矩形境界を返す。

- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-12-19 (月) 19:43:26 (2161d)