UIKitのアトリビュート徹底解説〜UILabel編〜


UILabelのアトリビュートを徹底解説!

UILabelは(というかデフォルトで用意されている画面上に配置することができる部品全ては)
UIViewクラスを継承して作成されています。
そのためUILabelクラス独自のアトリビュートはもちろん、UIViewクラスのアトリビュートも変更する
ことが可能です。
s23_1
s23_2

今回はUILabelクラス独自のアトリビュートのみに絞って解説します。

【Text】

◼︎Plain
選択している場合はそのまま表示されます。

◼︎Attributed
(attributedTextプロパティ)

こちらを選択すると下の「Color」、「Font」、「Alignment」の項目が統一されてまとめて設定
できるようになります。
また、Plainの時と文字の表示が若干変わります。これは空白の設定などがattributedにしたこと
によって設定が少し変わるためです。
s23_3
また、図の赤枠内をクリックするとさらに細かい設定を行うことができるようになりますが、
UILabelではほとんど機能しないためにこの部分をイジることはほぼないでしょう。
s23_4

◼︎入力欄
(textプロパティ)

ラベルに表示する文字を変更します。

myLabel.text = "こんにちは"

【Color】

(textColorプロパティ)
文字色を変更します。
s23_5
青枠の部分をクリックすると細かい色の指定ができるウィンドウが表示されます。
RGBでの指定や透過度の指定も可能となっています。
s23_6
赤枠の部分をクリックすると過去に利用したことのある色の履歴や、基本色を選択することができます。
s23_7

myLabel.textColor = UIColor.blueColor()

【Font】

(fontプロパティ)
表示されるフォントやフォントサイズを変更することができます。
直接記入することもできますが、「T」の部分をクリックすることで細かい設定が可能になります。
s23_8
右側の矢印をクリックするとフォントサイズのみを変更することができます。

myLabel.font = UIFont(name: "Helvetica", size: 20.0)

【Alignment】

(textAlignmentプロパティ)
文字の揃えを変更することができます。

myLabel.textAlignment = NSTextAlignment.Center

【Lines】

(numberOfLinesプロパティ)
ラベルに表示する行数の最大を変更することができます。
「0」に設定すると指定したラベルの領域(大きさ)で表示できる最大行数を表示します。

myLabel.numberOfLines = 2

【Behavior】

◼︎Enabled
(enabledプロパティ)

チェックを入れているとラベルが有効状態になります。チェックを外すと無効状態になり、グレーアウト
されます。

myLabel.enabled = true

◼︎Highlighted
(highlightedプロパティ)

チェックを入れているとラベルがハイライトされます。ハイライトカラーは下部の「Highlighted」の項目で
指定します。

myLabel.highlighted = false

【Baseline】

(baselineAdjustmentプロパティ)
下部「Autoshrink」のアトリビュートが有効になっている場合にこの設定が意味を持ちます。
ラベルのサイズを縮小した際にそれに伴い文字も縮小されますが、文字のどの位置を基準に縮小
していくかを決めます。
「Align Baselines」…文字のベースラインを中心として縮小していく
「Align Centers」…文字のセンターラインを中心として縮小していく
「None」…文字列の左上角を中心として縮小していく

myLabel.baselineAdjustment = UIBaselineAdjustment.AlignBaselines

【Line Breaks】

(lineBreakModeプロパティ)
文字がラベルサイズからはみ出した場合に、どの部分を「…」で省略するかを決めます。
下部「Autoshrink」が無効になっている場合や、有効になっていたとしても決められた限度以上に
小さく縮小した場合に省略されます。
「Clip」…はみ出した部分の後方を省略する
「Chracter Wrap」…文字列の途中で改行する(Linesが複数行の設定になっている場合に有効)
「Word Wrap」…英単語の場合、単語の区切りで改行する(Linesが複数行の設定になっている場合に有効)
「Truncate Head」…はみ出した文字の先頭を「…」で省略する
「Truncate Middle」…はみ出した文字の中央を「…」で省略する
「Truncate Tail」…はみ出した文字の末尾を「…」で省略する

myLabel.lineBreakMode = NSLineBreakMode.ByClipping

【Autoshrink】

ラベルのサイズからはみ出した文字を縮小表示するか、そのまま固定で省略するかを設定します。
このアトリビュートは設定項目によってコードでの記載方法が異なります。

「Fixed Font Size」
(adjustsFontSizeToFitWidthプロパティ)
…フォントサイズを固定せずにそのまま表示。はみだした部分は上の「Line Breaks」の設定に従って省略する

myLabel.adjustsFontSizeToFitWidth = true

「Minimum Font Scale」
(minimumScaleFactorプロパティ)
…文字を全表示するようにフォントサイズを縮小する。ただし、指定した倍率未満には縮小せず、それを
下回った場合は省略する

myLabel.minimumScaleFactor = 0.5

「Minimum Font Size」
(プロパティなし)
…文字を全表示するようにフォントサイズを縮小する。ただし、指定したフォントサイズ未満には縮小せず、
それを下回った場合は省略する

最後のアトリビュートはiOS6以降ではコードによっての記述ができなくなりました。
上の倍率を指定するやり方で記述する方法に統一されました。

◼︎Tighten Letter Spacing
※文字間の空白を詰める設定ですが、非推奨となっているため利用することはありません。

【Highlighted】

(highlightedTextColorプロパティ)
ハイライト時の文字色を変更します。色の指定方法は「Color」アトリビュートと全く同じです。

myLabel.highlightedTextColor = UIColor.yellowColor()

【Shadow】

(shadowColorプロパティ)
影付き文字の影の色の設定です。色の指定方法は「Color」アトリビュートと全く同じです。

myLabel.shadowColor = UIColor.grayColor()

【Shadow Offset】

(shadowOffsetプロパティ)
影文字の位置を調整する設定です。Holizontalが水平方向に、Verticalが垂直方向に
どのくらいずらして表示するかを数値(pt)で指定します。水平方向は右方向が正の数で、
垂直方向は下方向が正の数です。

myLabel.shadowOffset = CGSizeMake(2, -2)

いかがだったでしょうか。コードで記述する際の例も載せているのでstoryboard上でいじってみたり、
コードを変更してみたり、いろいろ試してみてください!

  • このエントリーをはてなブックマークに追加

PAGE TOP