【Swift】UILabel | ポケットリファレンス サンプル付き

UILabel サンプル

サンプルで動作を確認 コピーペーストで確認できます。

全体をコピー後、不必要な部分を削除することでコーディングを素早くできます。

■ よく使う簡易サンプル

let label = UILabel()
// テキスト
label.text = "This is UILabel."
// ラベルの大きさ
label.frame = CGRectMake(0, 0, 300, 80)
// 背景の色
label.backgroundColor = UIColor.redColor()
// テキストの色
label.textColor = UIColor.orangeColor()
// フォントを設定
label.font = UIFont.systemFontOfSize(12)
// テキストの左右構え
label.textAlignment = NSTextAlignment.Left
// numberOfLines を [0] に設定しないと自動リサイズされない。
label.numberOfLines = 0
// 自動リサイズ
label.sizeToFit()
//最小のフォントサイズ
label.minimumScaleFactor = 5.0
// タップを有効にしたい場合
label.userInteractionEnabled = true
// サイズを小さくしても表示させたい場合
label.adjustsFontSizeToFitWidth = true
self.view.addSubview(label)

■ 詳しいサンプル

let uiLabel = UILabel()
// ラベルで表示する文字を設定、または取得します。
// テキストを設定
uiLabel.text = "あいうえお"

// テキスト文字の属性 NSAttributedString を設定
// attribute(持っている属性全て)を設定、または取得します。
let attribute : NSAttributedString = NSAttributedString(
    string: "bold",
    attributes:  [NSFontAttributeName: UIFont(name: "HiraKakuProN-W6", size: 20)!]
)
uiLabel.attributedText = attribute

// テキストのフォントを設定
uiLabel.font = UIFont.systemFontOfSize(12)

// テキストのカラーを設定
uiLabel.textColor = UIColor.redColor()

// テキストの設定されている文字の位置を設定
uiLabel.textAlignment = NSTextAlignment.Left
// 設定できる文字の位置の種類
enum NSTextAlignment : Int {
    case Left
    case Center
    case Right
    case Justified
    case Natural
}

// テキストの改行(ラインブレイク)を設定
uiLabel.lineBreakMode = NSLineBreakMode.ByWordWrapping
// 設定できる改行(ラインブレイク)の種類
enum NSLineBreakMode : Int {
    case ByWordWrapping
    case ByCharWrapping
    case ByClipping
    case ByTruncatingHead
    case ByTruncatingTail
    case ByTruncatingMiddle
}

// ラベルのインスタンスの有効、無効を設定します。
// 無効に設定すると文字がグレーダウンします。
uiLabel.enabled = true

// 文字長さに応じて、フォントサイズを自動で調整します。文字長くなると自動で文字の大きさが小さくなります。
// フォントサイズを自動で調整させてたい場合は true を設定します。
uiLabel.adjustsFontSizeToFitWidth = true

// 文字列の長さに応じて、フォントサイズ、改行モード、文字間隔を最大限に調整します。
// 有効にする場合は true 、無効にする場合は、false を設定します。
uiLabel.allowsDefaultTighteningForTruncation = true

// 文字の上下中央寄せの状態を設定します。
uiLabel.baselineAdjustment = UIBaselineAdjustment.AlignBaselines
// 設定できる上下中央寄の種類
enum UIBaselineAdjustment : Int {
    case AlignBaselines
    case AlignCenters
    case None
}

// フォントサイズの調整が自動の時のフォントサイズの最小値を設定
// 表示する行数を設定。
uiLabel.minimumScaleFactor = 8.0

// 表示する行数を設定、または取得します。
// 最大表示行数を3行で設定する場合
uiLabel.numberOfLines = 3

// ボタン、セル等がタップされた時に表示するテキストの色を設定します。
// 赤色を設定する
uiLabel.highlightedTextColor = UIColor.redColor()

// ハイライトの有効、無効を設定します。ボタン、セル等がタップされた時に表示するテキストの色を適用するか? 有効、無効の設定ができます。
// 有効にする場合
uiLabel.highlighted = true

// 文字のシャドウの色を設定します。
// シャドウを赤で設定します。
uiLabel.shadowColor = UIColor.redColor()

// 文字のシャドウの位置を設定します。
// 位置を右に1、下に2で設定する場合
uiLabel.shadowOffset = CGSizeMake(1, 2);

// タップを感知するかの設定をします。
// true を設定した場合、タップを有効にします。
uiLabel.userInteractionEnabled = true

UILabel 概要

UIKit のラベルを利用する時に利用します。

  • Import Statement
    import UIKit
  • Available
    iOS 2.0 and later
  • Inherits
    UIView

インスタンスメソッド

■ func textRectForBounds(_ bounds: CGRect,limitedToNumberOfLines numberOfLines: Int) -> CGRect

Returns the drawing rectangle for the label’s text.

■ func drawTextInRect(_ rect: CGRect)

Draws the receiver’s text (or its shadow) in the specified rectangle.

プロパティ

■ ラベルで表示する文字を設定、または取得
var text: String?

let uiLabel = UILabel()
// テキストを設定
uiLabel.text = "あいうえお"
// 設定されているテキストを取得
print(uiLabel.text)

■ attribute(持っている属性全て)を設定、または取得
@NSCopying var attributedText: NSAttributedString?

let uiLabel = UILabel()
uiLabel.text = "あいうえお"

// NSAttributedString を取得
let attribute : NSAttributedString = uiLabel.attributedText!
print(attribute)

// NSAttributedString を設定
let attribute2 : NSAttributedString = NSAttributedString(
    string: "bold",
    attributes:  [NSFontAttributeName: UIFont(name: "HiraKakuProN-W6", size: 20)!]
)
uiLabel.attributedText = attribute2

■ 設定されているフォントを設定、または取得
var font: UIFont!

let uiLabel = UILabel()
uiLabel.text = "あいうえお"
// 設定されているフォントを取得
let font : UIFont = uiLabel.font!
print(font)
// フォントを設定
uiLabel.font = UIFont.systemFontOfSize(12)

■ 設定されているカラーを設定、または取得
var textColor: UIColor!

let uiLabel = UILabel()
uiLabel.text = "あいうえお"
// 設定されているカラーを取得
let color : UIColor = uiLabel.textColor!
print(color)
// カラーを設定
uiLabel.textColor = UIColor.redColor()

■ 設定されている文字の左右等の位置を設定、または取得
var textAlignment: NSTextAlignment

let uiLabel = UILabel()
uiLabel.text = "あいうえお"
// 設定されている文字の位置を取得
let textAlignment : NSTextAlignment = uiLabel.textAlignment
print(textAlignment)
// 設定されている文字の位置を設定
uiLabel.textAlignment = NSTextAlignment.Left

// 設定できる文字の位置の種類
enum NSTextAlignment : Int {
    case Left
    case Center
    case Right
    case Justified
    case Natural
}

■ 設定されている改行(ラインブレイク)の設定、または取得
var lineBreakMode: NSLineBreakMode

let uiLabel = UILabel()
uiLabel.text = "あいうえお"

// 改行(ラインブレイク)を取得
let lineBreak : NSLineBreakMode = uiLabel.lineBreakMode

// 改行(ラインブレイク)を設定
uiLabel.lineBreakMode = NSLineBreakMode.ByWordWrapping

// 設定できる改行(ラインブレイク)の種類
enum NSLineBreakMode : Int {
    case ByWordWrapping
    case ByCharWrapping
    case ByClipping
    case ByTruncatingHead
    case ByTruncatingTail
    case ByTruncatingMiddle
}

■ ラベルのインスタンスの有効、無効を設定
var enabled: Bool

無効に設定すると文字がグレーダウンします。

let uiLabel = UILabel()
uiLabel.text = "あいうえお"

// ラベルを有効に設定する。
uiLabel.enabled = true
print(uiLabel.enabled)

// ラベルの有効、無効状態を取得します。
let uiLabelEnabled : Bool = uiLabel.enabled
print(uiLabelEnabled)

■ 文字長さに応じて、フォントサイズを自動で調整。文字長くなると自動で文字の大きさが小さくなります。
var adjustsFontSizeToFitWidth: Bool

let uiLabel = UILabel()
uiLabel.text = "あいうえお"

// フォントサイズを自動で調整させてたい場合は true を設定します。
uiLabel.adjustsFontSizeToFitWidth = true

// 現在のフォントサイズの自動調整の状態を取得します。
let adjusts : Bool = uiLabel.adjustsFontSizeToFitWidth
print(adjusts)

■ 文字列の長さに応じて、フォントサイズ、改行モード、文字間隔を最大限に調整
var allowsDefaultTighteningForTruncation: Bool

let uiLabel = UILabel()
uiLabel.text = "あいうえお"

// 有効にする場合は true 、無効にする場合は、false を設定します。
uiLabel.allowsDefaultTighteningForTruncation = true

// 現在の状態を取得します。
let allows : Bool = uiLabel.allowsDefaultTighteningForTruncation
print(allows)

■ 文字の上下中央寄せを設定、または取得
var baselineAdjustment: UIBaselineAdjustment

// 文字の上下中央寄せの状態を取得します。
let lineAdjustment : UIBaselineAdjustment = uiLabel.baselineAdjustment

// 文字の上下中央寄せの状態を設定します。
uiLabel.baselineAdjustment = UIBaselineAdjustment.AlignBaselines

// 設定できる上下中央寄の種類
enum UIBaselineAdjustment : Int {
    case AlignBaselines
    case AlignCenters
    case None
}

■ フォントサイズの調整が自動の時のフォントサイズの最小値を設定、または取得
var minimumScaleFactor: CGFloat

// フォントサイズの最小値を設定
uiLabel.minimumScaleFactor = 8.0

// フォントサイズの最小値を取得
let minimumScale : CGFloat = uiLabel.minimumScaleFactor
print(minimumScale)

■ 表示する行数を設定、または取得
var numberOfLines: Int

// 最大表示行数を3行で設定する場合
uiLabel.numberOfLines = 3

// 現在設定されている最大表示行数を取得する。
let numberOfLines : Int = uiLabel.numberOfLines
print(numberOfLines)

■ ボタン、セル等がタップされた時に表示するテキストの色を設定
var highlightedTextColor: UIColor?

// 赤色を設定する
uiLabel.highlightedTextColor = UIColor.redColor()

// 設定されている色を取得する
let highlightedTextColor = uiLabel.highlightedTextColor

■ ハイライトの有効、無効を設定
var highlighted: Bool

ボタン、セル等がタップされた時に表示するテキストの色を適用するか? 有効、無効の設定ができます。

// 有効にする場合
uiLabel.highlighted = true

// 設定されている状態を取得
let allows : Bool = uiLabel.highlighted
print(allows)

■ 文字のシャドウの色を設定
var shadowColor: UIColor?

// シャドウを赤で設定します。
uiLabel.shadowColor = UIColor.redColor()

// 設定されているシャドウの色を取得します。
let shadowColor = uiLabel.shadowColor

■ 文字のシャドウの位置を設定
var shadowOffset: CGSize

// 位置を右に1、下に2で設定する場合
uiLabel.shadowOffset = CGSizeMake(1, 2);

// 設定されているシャドウの位置を取得します。
let shadowOffset : CGSize = uiLabel.shadowOffset
print(shadowOffset)

■ var preferredMaxLayoutWidth: CGFloat

The preferred maximum width (in points) for a multiline label.

■ タップを感知するかを設定
var userInteractionEnabled: Bool

// true を設定した場合、タップを有効にします。
uiLabel.userInteractionEnabled = true

// 設定されている状態を取得します。
let userInteraction : Bool = uiLabel.userInteractionEnabled
print(userInteraction)
おすすめの本

 

タイトルとURLをコピーしました