zoukankan      html  css  js  c++  java
  • IOS UIlabel 、UIButton添加下划线

    1.给UILabel 添加下划线

      UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, 300, 100)];
      label.backgroundColor = [UIColor redColor];
      label.numberOfLines = 3;
      NSMutableAttributedString *content = [[NSMutableAttributedString alloc]initWithString:[NSString stringWithFormat:@"您的待办业务条fasdfasdfosadfjasdkljfklasjklfjasdlkjfklasdjklfjalskdjflkadsj"]];
      NSRange contentRange = {0,[content length]};
      [content addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:contentRange];
      label.attributedText = content;
      [self.view addSubview:label];

    2. http://blog.csdn.net/chaoyuan899/article/details/38306141

    iosUIButtonUILabel下划线

    方法一:

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

    示例结果:

    代码在这里

  • 相关阅读:
    艾伟:Memcached深度分析 狼人:
    项目一 三角形类4
    Flex 的DataGrid列 的字体,根据不同情况 渲染不同颜色
    yum 失败(This system is not registered with RHN.)解决
    FirePHP调试指南
    项目总结:复杂树状菜单结点增改删(ZTree)
    ./configure: error: the HTTP rewrite module requires the PCRE library.
    使用GDB调试Android NDK native(C/C++)程序
    三角形类1
    我为什么不喜欢网赚和SEO
  • 原文地址:https://www.cnblogs.com/someonelikeyou/p/4011547.html
Copyright © 2011-2022 走看看