[Xcode10 實際操作]四、常用控制元件-(5)UILabel文字標籤自定義文字樣式
阿新 • • 發佈:2018-11-25
本文將演示給標籤物件新增描邊效果,在專案資料夾上,點選滑鼠右鍵選單,
選擇【Create File】->【Cocoa Touch Class】->【Next】->
【Class】:MyLabel
【Subclass of 】:UILabel
【Language】:Swift
->【Next】->【Create】
1 import UIKit 2 3 class MyLabel: UILabel { 4 5 //首先過載父類的繪圖方法, 6 //這樣就可以從底層來定義標籤的形狀 7 override func draw(_ rect: CGRect) {8 // Drawing code 9 //獲取當前圖形環境的上下文 10 let context = UIGraphicsGetCurrentContext() 11 //設定在上下文中,文字的渲染模式為描邊模式 12 context?.setTextDrawingMode(CGTextDrawingMode.stroke) 13 14 //設定文字描邊的邊框寬度為2 15 context?.setLineWidth(2) 16 //設定文字描邊的頂點連線方式為圓角方式17 context?.setLineJoin(CGLineJoin.round) 18 //設定文字的描邊顏色為白色 19 self.textColor = UIColor.white 20 //將文字的描邊資訊,繪製在指定區域內 21 super.drawText(in: rect) 22 23 //設定在上下文中,文字渲染模式為填充 24 context?.setTextDrawingMode(CGTextDrawingMode.fill) 25 //建立一個顏色為黑色的顏色物件 26 let textColor = UIColor.black 27 //設定文字顏色為黑色 28 self.textColor = textColor 29 //將文字的填充資訊,繪製在指定區域內 30 super.drawText(in: rect) 31 } 32 }
在專案導航區,開啟檢視控制器的程式碼檔案【ViewController.swift】
現在開始新增自定義標籤,並新增到當前檢視控制器的根檢視
1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from a nib. 8 //初始化一個自定義標籤物件 9 let label = MyLabel() 10 //設定自定義標籤的位置在(120,180),尺寸為(240,120) 11 label.frame = CGRect(x: 120, y: 180, width: 240, height: 120) 12 //設定自定義標籤的文字內容 13 label.text = "Enter >" 14 //設定自定義標籤物件的字型和大小 15 label.font = UIFont(name: "Georgia", size: 56) 16 17 //將自定義標籤物件,新增到當前檢視控制器的根檢視 18 self.view.addSubview(label) 19 //設定檢視的背景顏色為紫色,以突出顯示標籤中的文字內容 20 self.view.backgroundColor = UIColor.purple 21 } 22 23 override func didReceiveMemoryWarning() { 24 super.didReceiveMemoryWarning() 25 // Dispose of any resources that can be recreated. 26 } 27 }