Xcode9学习笔记26 - 自定义文字样式UILabel

本文介绍如何通过重写UILabel的绘图方法实现自定义的文字描边效果。通过设置上下文的渲染模式、描边宽度及连接方式等属性,实现描边文字与填充文字的结合显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



    //首先重载父类的绘图方法,这样就可以从底层来自定义标签的形状了
    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//设置根视图的背景色
    }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值