//首先重载父类的绘图方法,这样就可以从底层来自定义标签的形状了
override func draw(_ rect: CGRect) {
let context = UIGraphicsGetCurrentContext()//获取当前图形环境的上下文
//设置在上下文中,文字的渲染模式为描边模式
context?.setTextDrawingMode(CGTextDrawingMode.stroke)
context?.setLineWidth(2)//设置文字描边的边框宽度
context?.setLineJoin(CGLineJoin.round)//设置文字描边的定点连接方式为圆角方式
self.textColor = UIColor.white//设置文字的描边颜色
super.drawText(in: rect)//将文字的描边信息,绘制在指定的区域内
//设置在上下文中,文字的渲染模式为填充
context?.setTextDrawingMode(CGTextDrawingMode.fill)
let textColor = UIColor.black//创建一个颜色为黑色的颜色对象
self.textColor = textColor//设置文字颜色为黑色
super.drawText(in: rect)//将文字的描边信息,绘制在指定的区域内
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let label = MyLabel()//初始化一个自定义标签对象
//设置自定义标签对象的位置、尺寸
label.frame = CGRect(x: 120, y: 180, width: 240, height: 120)
label.text = "Enter >"
label.font = UIFont(name: "Georgia", size: 56)//设置自定义标签对象的字体和大小
self.view.addSubview(label)
self.view.backgroundColor = UIColor.purple//设置根视图的背景色
}