1. 程式人生 > >UIKit框架-基礎控制元件Swift版本: 3.UILabel方法/屬性詳解

UIKit框架-基礎控制元件Swift版本: 3.UILabel方法/屬性詳解

前面我們講解了UI基礎控制元件的UIButton, 現在讓我們繼續往下講:

1.UILabel的狀態

內容的顯示模式

enum NSLineBreakMode : Int {
    case ByWordWrapping // 保留所有的字元
    case ByCharWrapping // 保留所有的字元, 如果遇到換行字元 "\n" 後面的字元就會消失
    case ByClipping // 剪下掉多餘的
    case ByTruncatingHead // 顯示樣式 "...wxyz"
    case ByTruncatingTail // 顯示樣式 "abcd..."
    case
ByTruncatingMiddle // 顯示的樣式 "ab...yz" }

內容的位置(預設的文字縱向距離考上)

enum UIBaselineAdjustment : Int {
    case AlignBaselines // 文字的縱向距離靠上
    case AlignCenters // 文字的縱向距離居中
    case None // 文字的縱向距離靠下
}

字型樣式(預設是正常字型)

// 1.正常字型
class func systemFontOfSize(fontSize: CGFloat) -> UIFont
// 2.粗字型
class func boldSystemFontOfSize
(fontSize: CGFloat) -> UIFont
// 3.傾斜字型 class func italicSystemFontOfSize(fontSize: CGFloat) -> UIFont

文字排序(預設是Left)

enum NSTextAlignment : Int {
    case Left    // 向左對齊
    case Center  // 居中對齊
    case Right   // 向右對齊
    case Justified // 如果內容滿一行, 那就兩端對齊, 最後一行就是自然對齊
    case Natural // 如果你使用了某些指令碼的對齊方法, 那麼這個屬性就會根據你的指令碼對齊方式來對齊
}

2.常用屬性:

以下就是我們在實際開發中最常用到的UILabel的屬性:

// 1.設定Label的text文字
var text: String?
// 2.設定Label的text文字大小, 預設是17號
var font: UIFont!
// 3.設定Label的text文字顏色
var textColor: UIColor!
// 4.設定Label的的陰影text文字顏色
var shadowColor: UIColor?
// 5.設定Label的陰影位置
var shadowOffset: CGSize
// 6.設定Label的text位置
var textAlignment: NSTextAlignment
// 7.設定Label的text縱向的位置
var lineBreakMode: NSLineBreakMode
// 8.控制UILabel是否可用, 預設為YES
var enabled: Bool
// 9.設定Label的高亮時的text文字顏色, 預設是nil, 要開啟UILabel的高亮狀態才能使用
var highlightedTextColor: UIColor?
// 10.設定Label的高亮狀態, 預設是NO
var highlighted: Bool 
// 11.設定Label的行數, 預設是1行, 如果需要文字根據UILabel的大小來自動換行, 那就設定為0
var numberOfLines: Int
// 12.設定Label是否根據UILabel的大小來自適應字型大小, 預設是NO
var adjustsFontSizeToFitWidth: Bool

3.實現程式碼

由於前面已經把如何建立工程介紹了, 這裡就不多做第二次介紹了, 下面讓我們直接來看程式碼:

    func myLabel() {
        // 1.建立UILabel, 並且設定位置
        var label: UILabel = UILabel(frame: CGRectMake(50, 200, 200, 200))

        // 2.設定UILabel的背景顏色
        label.backgroundColor = UIColor.brownColor()

        // 3.新增UILabel的text文字
        label.text = "Hello everybody, I'm Label"

        // 4.設定UILabel的text文字顏色
        label.textColor = UIColor.whiteColor()

        // 5.設定UILabel的text文字的行數, 如果是0就會自動換行
        label.numberOfLines = 0

        // 6.設定UILabel的text是否根據UILabel的寬高自適應, true就是自適應, false就不是
        //label.adjustsFontSizeToFitWidth = true

        // 7.調整UILabel的text文字文字的縱向位置, 屬性需要numberOfLines不為0的時候才有效.
        label.baselineAdjustment = UIBaselineAdjustment.None

        // 8.設定UILabel的字型大小, 如果adjustsFontSizeToFitWidth為true時, 該屬性無效
        label.font = UIFont.systemFontOfSize(20)

        // 9.設定UILabel的文字位置, 目前是文字使用與指令碼排序方式
        label.textAlignment = NSTextAlignment.Natural

        // 10.設定UILabel的高亮字型顏色
        label.highlightedTextColor = UIColor.greenColor()

        // 11.設定UILabel的高亮狀態為true, 預設是false
        label.highlighted = true

        // 12.設定UIlabel的顯示樣式
        label.lineBreakMode = NSLineBreakMode.ByWordWrapping

        self.view.addSubview(label)
    }

實現方法:

    override func viewDidLoad() {
        super.viewDidLoad()
        self.myLabel()
    }

最終的效果:
沒有高亮時的狀態
預設

高亮時的狀態:
高亮

好了, 這次我們就講到這裡, 下次我們繼續~~