IOS文字下划线(转)

1、iOS 文字下划线

设置UITextView,UILabel 中的文字加下划线

1
2
3
4
5
6
7
8
9
10
11
//添加下划线
-(NSAttributedString*) getAttributedString:(NSAttributedString*) attributedString isUnderline:( BOOL ) isUnderline
{
     NSNumber *valuUnderline = [NSNumbernumberWithBool:isUnderline];
     NSRange rangeAll = NSMakeRange(0, attributedString.string.length);
     NSMutableAttributedString *as = [attributedString mutableCopy];
     [as beginEditing];
     [as addAttribute:NSUnderlineStyleAttributeNamevalue:valuUnderline range:rangeAll];
     [as endEditing];
     return  as;
}

使用

1
2
textView.attributedText = [self getAttributedString:_mainTextView.attributedText isUnderline:YES];
label.attributedText =  [self getAttributedString:_mainTextView.attributedText isUnderline:YES];

转至:http://chenjohney.blog.51cto.com/4132124/1284504


2、iOS开发:自定义带下划线文本的UIButton

Uiunderlinedbutton.h代码

1
2
3
4
@interface UIUnderlinedButton : UIButton {
}
+ (UIUnderlinedButton *) underlinedButton;
@end

Uiunderlinedbutton.m代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@implementation UIUnderlinedButton
  
+ (UIUnderlinedButton*) underlinedButton {
UIUnderlinedButton* button = [[UIUnderlinedButton alloc] init];
return  [button autorelease];
}
  
- ( void ) drawRect:(CGRect)rect {
CGRect textRect = self.titleLabel.frame;
  
// need to put the line at top of descenders (negative value)
CGFloat descender = self.titleLabel.font.descender;
  
CGContextRef contextRef = UIGraphicsGetCurrentContext();
  
// set to same colour as text
CGContextSetStrokeColorWithColor(contextRef, self.titleLabel.textColor.CGColor);
  
CGContextMoveToPoint(contextRef, textRect.origin.x, textRect.origin.y + textRect.size.height + descender);
  
CGContextAddLineToPoint(contextRef, textRect.origin.x + textRect.size.width, textRect.origin.y + textRect.size.height + descender);
  
CGContextClosePath(contextRef);
CGContextDrawPath(contextRef, kCGPathStroke);
}
@end
转自:http://hi.baidu.com/chenchangxin/item/56f87a181203415c2a3e22ff
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值