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
|