UIKit框架-基礎控制元件Swift版本: 3.UILabel方法/屬性詳解
阿新 • • 發佈:2019-02-03
前面我們講解了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()
}
最終的效果:
沒有高亮時的狀態
高亮時的狀態:
好了, 這次我們就講到這裡, 下次我們繼續~~