[Xcode 实际操作]四、常用控件-(5)UILabel文本标签自定义文字样式
本文将演示给标签对象添加描边效果,在项目文件夹上,点击鼠标右键菜单,
选择【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 }