[Xcode 實際操做]4、經常使用控件-(5)UILabel文本標籤自定義文字樣式

目錄:[Swift]Xcode實際操做html

本文將演示給標籤對象添加描邊效果,在項目文件夾上,點擊鼠標右鍵菜單,swift

選擇【Create File】->【Cocoa Touch Class】->【Next】->ide

【Class】:MyLabelpost

【Subclass of 】:UILabel字體

【Language】:Swiftspa

->【Next】->【Create】code

 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】htm

如今開始添加自定義標籤,並添加到當前視圖控制器的根視圖對象

 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 }
相關文章
相關標籤/搜索