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 同理可得。

    示例结果:

  • 相关阅读:
    限制次数登录系统
    1-10内的数字累加,输出和大于20的数字。
    输出某个年龄的人的比例
    计算100以内的所有偶数和
    计数器解决一个人数增长问题
    switch处理多分支结构
    if处理多分支结构
    webstom破解
    下拉框左右选择
    勾中行变色效果
  • 原文地址:https://www.cnblogs.com/lidongq/p/4378810.html
Copyright © 2011-2022 走看看