zoukankan      html  css  js  c++  java
  • Label加下滑线

    方法一:

    1. NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"查看所有中奖记录"];  
    2. NSRange strRange = {0,[str length]};  
    3. [str addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:strRange];  
    4. [_awardDisplayBtn setAttributedTitle:str forState:UIControlStateNormal];  


    方法二:

    HyperlinksButton.h

    1. #import <UIKit/UIKit.h>  
    2.   
    3. @interface HyperlinksButton : UIButton  
    4. {  
    5.     UIColor *lineColor;  
    6. }  
    7. -(void)setColor:(UIColor*)color;  
    8. @end  

    HyperlinksButton.m 

    1. #import "HyperlinksButton.h"  
    2.   
    3. @implementation HyperlinksButton  
    4.   
    5. - (id)initWithFrame:(CGRect)frame  
    6. {  
    7.     self = [super initWithFrame:frame];  
    8.     if (self) {  
    9.           
    10.     }  
    11.     return self;  
    12. }  
    13.   
    14. -(void)setColor:(UIColor *)color{  
    15.     lineColor = [color copy];  
    16.     [self setNeedsDisplay];  
    17. }  
    18.   
    19.   
    20. - (void) drawRect:(CGRect)rect {  
    21.     CGRect textRect = self.titleLabel.frame;  
    22.     CGContextRef contextRef = UIGraphicsGetCurrentContext();  
    23.       
    24.     CGFloat descender = self.titleLabel.font.descender;  
    25.     if([lineColor isKindOfClass:[UIColor class]]){  
    26.         CGContextSetStrokeColorWithColor(contextRef, lineColor.CGColor);  
    27.     }  
    28.       
    29.     CGContextMoveToPoint(contextRef, textRect.origin.x, textRect.origin.y + textRect.size.height + descender+1);  
    30.     CGContextAddLineToPoint(contextRef, textRect.origin.x + textRect.size.width, textRect.origin.y + textRect.size.height + descender+1);  
    31.       
    32.     CGContextClosePath(contextRef);  
    33.     CGContextDrawPath(contextRef, kCGPathStroke);  
    34. }  
    35. @end  

    直接将这个类 copy 到工程中,,然后将需要加下划线的 Button 类名改为 HyperlinksButton就可以了,提供了 setColor: 这个接口,可以设置下划线颜色,代码很简单,不解释了。UILabel 同理可得。

    示例结果:

  • 相关阅读:
    代码外的软技能——吉他自学过程
    利用栈实现括号匹配(python语言)
    django框架--登录注册功能(ajax)
    ajax的get请求
    docker 制作自己的镜像
    Mysql group by之 Error 1055
    ssh 远程连接
    python实现--九九乘法表
    mysql5.7安装和卸载过程
    javascript随机变色--案例
  • 原文地址:https://www.cnblogs.com/lidongq/p/4378810.html
Copyright © 2011-2022 走看看