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
方法一:
- NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"查看所有中奖记录"];
- NSRange strRange = { 0,[str length]};
- [str addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:strRange];
- [_awardDisplayBtn setAttributedTitle:str forState:UIControlStateNormal];
HyperlinksButton.h
- #import <UIKit/UIKit.h>
- @interface HyperlinksButton : UIButton
- {
- UIColor *lineColor;
- }
- -(void)setColor:(UIColor*)color;
- @end
HyperlinksButton.m
- #import "HyperlinksButton.h"
- @implementation HyperlinksButton
- - (id)initWithFrame:(CGRect)frame
- {
- self = [super initWithFrame:frame];
- if (self) {
- }
- return self;
- }
- -(void)setColor:(UIColor *)color{
- lineColor = [color copy];
- [self setNeedsDisplay];
- }
- - (void) drawRect:(CGRect)rect {
- CGRect textRect = self.titleLabel.frame;
- CGContextRef contextRef = UIGraphicsGetCurrentContext();
- CGFloat descender = self.titleLabel.font.descender;
- if([lineColor isKindOfClass:[UIColor class]]){
- CGContextSetStrokeColorWithColor(contextRef, lineColor.CGColor);
- }
- CGContextMoveToPoint(contextRef, textRect.origin.x, textRect.origin.y + textRect.size.height + descender+1);
- CGContextAddLineToPoint(contextRef, textRect.origin.x + textRect.size.width, textRect.origin.y + textRect.size.height + descender+1);
- CGContextClosePath(contextRef);
- CGContextDrawPath(contextRef, kCGPathStroke);
- }
- @end
示例结果:
代码在。