UILbale 画删除线或下划线等..

一个带删除线的文本标签,继承自UILabel

自绘代码步骤如下:

1,重写控件的drawRect方法

2,首先得到上下文对象

3,设置颜色,并指定是填充(Fill)模式还是笔刷(Stroke)模式

4,在上下文中指定删除线的起点(含x,y)

5,根据标签文字的字体,确定文字的长度(即将被画的线条的长度)

6,指定删除线的终点(含x,y)

7,渲染到上下文,完成路径的绘制

可以定义一个BOOL属性, 是否需要画线, 代码如下

- (void)drawRect:(CGRect)rect

{

   if (isWithStrikeThrough)

    {

       CGContextRef c = UIGraphicsGetCurrentContext();

        

       CGFloat red[4] = {1.0f,0.0f, 0.0f,0.8f}; //红色

       //CGFloat black[4] = {0.0f, 0.0f, 0.0f, 0.5f};//黑色

       CGContextSetStrokeColor(c, red);

       CGContextSetLineWidth(c, 2);

       CGContextBeginPath(c);

       //画直线

       //CGFloat halfWayUp = rect.size.height/2 + rect.origin.y;

       //CGContextMoveToPoint(c, rect.origin.x, halfWayUp );//开始点

       //CGContextAddLineToPoint(c, rect.origin.x + rect.size.width, halfWayUp);//结束点

       //画斜线

       CGContextMoveToPoint(c, rect.origin.x, rect.origin.y+5 );

       CGContextAddLineToPoint(c, (rect.origin.x + rect.size.width)*0.5, rect.origin.y+rect.size.height-5); //斜线

       CGContextStrokePath(c);

    }

    

    [superdrawRect:rect];

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值