iOS下划线/虚线/删除线等等

原创 2015年07月07日 10:09:35

1.实线,(下划线/删除线)

写一个新类 UnderLineLabel : UILabel
- (void)drawRect:(CGRect)rect {
    // Drawing code
    [super drawRect:rect];
    
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGSize fontSize =[self.text sizeWithFont:self.font
                                    forWidth:self.frame.size.width
                               lineBreakMode:NSLineBreakByTruncatingTail];
    
    //线颜色,此处颜色和字体一致
    CGContextSetStrokeColorWithColor(ctx, self.textColor.CGColor);  // set as the text's color
   // 0.6f == 线宽
    CGContextSetLineWidth(ctx, 0.6f);
    //起点坐标
    CGPoint leftPoint = CGPointMake(0,
                                    self.frame.size.height/2);
   //终点坐标
    CGPoint rightPoint = CGPointMake(fontSize.width,
                                     self.frame.size.height/2);
    CGContextMoveToPoint(ctx, leftPoint.x, leftPoint.y);
    CGContextAddLineToPoint(ctx, rightPoint.x, rightPoint.y);
    CGContextStrokePath(ctx);
}
在需要的地方用UnderLineLabel初始化生成即可.

2.虚线

首先要导入

#import <QuartzCore/QuartzCore.h>

//虚线
        CAShapeLayer *shapeLayer = [CAShapeLayer layer];
        [shapeLayer setBounds:self.bounds];
        [shapeLayer setPosition:self.center];
        [shapeLayer setFillColor:[[UIColor clearColor] CGColor]];
        // 设置虚线颜色为black
        [shapeLayer setStrokeColor:[[UIColor colorWithRed:223/255.0 green:223/255.0 blue:223/255.0 alpha:1.0f] CGColor]];
        // 3.0f设置虚线的宽度
        [shapeLayer setLineJoin:kCALineJoinRound];
        // 3=线的宽度 1=每条线的间距
        [shapeLayer setLineDashPattern:[NSArray arrayWithObjects:[NSNumber numberWithInt:1],[NSNumber numberWithInt:1],nil]];
        // Setup the path
        CGMutablePathRef path = CGPathCreateMutable();
        CGPathMoveToPoint(path, NULL, 100, 67);       //100 ,67 初始点 x,y
        CGPathAddLineToPoint(path, NULL, 310,67);     //67终点x,y
        [shapeLayer setPath:path];
        CGPathRelease(path);
        //添加到容器中
        [[self layer] addSublayer:shapeLayer];

此处 self是一个view

版权声明:本文为博主原创文章,未经博主允许不得转载。

给UILabel 或者 UIButton标题加下划线

方法一: NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"查看所有中奖...

iOS开发 给Label加下划线、中划线

iOS开发 给Label加下划线、中划线 当我们在做一些购物类APP或者是商品展示类的APP时,我们经常会遇到某种商品打折优惠或者抢购的场景。并且为了吸引客户,商家一般把打折商品的现价和...

iOS中_(下划线)和self.的区别

1.首先通过self. 通过访问的方法的引用:包含了set和get方法。 但是,通过下划线是获取自己的实例变量,不包含set和get的方法。 2.self.是对属性的访问;而_(下划线)是对局部变...

iOS中self.xxx 和 _xxx 下划线的区别

[摘要:@property (nonatomic,copy) NSString *propertyName;  self.propertyName 是对属性的拜访;  _propertyName 是对...

UILabel,文字添加下划线,中划线

//显示下划线         //中划线 //        NSDictionary *attribtDic = @{NSStrikethroughStyleAttributeName: [N...

iOS 绘制虚线的三种方法

总结了三种绘制虚线的方法: 方法一:通过Quartz 2D 在 UIView drawRect:方法进行绘制虚线 - (void)drawRect:(CGRect)rect { // 可以通过 set...

iOS简单实现虚线的小方法

做程序猿也有段时间了。 写程序的时候,经常会用到各种线。 现在我就简单说一下 用UIGraphicsBeginImageContext来实现一道虚线的绘制。我这里是将方法写到UIImage的一...

iOS开发笔记--描边label

今天需求突然要求需要描边文字,在网上找了一下,发现挺简单的,自己封装了一个- (void)drawTextInRect:(CGRect)rect { CGSize shadowOffset = ...

iOS为UIView添加虚线边框

欢迎到个人博客: liumh.com查看本文。本文为原创,未经允许勿转载有时候需要为UIView添加虚线描边,本文记录一种实现方式,主要是通过对UIView的根layer添加CAShapeLayer来...
  • CaryaLiu
  • CaryaLiu
  • 2015年10月20日 21:56
  • 13121

iOS 代码实现边框 虚线

//在初始化调用这个方法 func addshapeLayer(){         shapeLayer = CAShapeLayer(layer:layer)         ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS下划线/虚线/删除线等等
举报原因:
原因补充:

(最多只允许输入30个字)