在UITextView中创建自定义字体颜色和超链接

时间:2013-11-14 03:35:19

标签: ios uitextview

我想创建一个带有以下文本和超链接的UITextView。我已经将UITextView对象拖到了View中。

.h.m文件如何实现以下目标?

enter image description here

1 个答案:

答案 0 :(得分:1)

你不能用 UITextView 来做到这一点。但我会告诉你如何用 UILabel 实现这一目标。

首先您需要从here

添加 TTTAttributedLabel.h TTTAttributedLabel.m

现在您需要添加 CoreText 框架

.h

中的

#import "TTTAttributedLabel.h"

声明我们的标签

IBOutlet TTTAttributedLabel *lbl;

@property(strong,nonatomic) IBOutlet TTTAttributedLabel *lbl;

现在您只需要拖动 UILabel 并将其作为 TTTAttributedLabel 的类。现在将其与 lbl

连接 .m

中的

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    self.lbl.lineBreakMode = NSLineBreakByWordWrapping;

    NSString *googleStr = NSLocalizedString(@"Google", @"Google");

    NSString *fullStr = [NSString stringWithFormat:@"Lorem ipsum fgggerfew - %@ dfggds", googleStr];

    NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc]initWithString:fullStr];

    NSRange termsRange = [fullStr rangeOfString:googleStr];
    [attrString addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:termsRange];

    self.lbl.attributedText = attrString;

    NSURL *googleURL = [NSURL URLWithString:@"http://www.google.com"];



    [self.lbl addLinkToURL:googleURL withRange:termsRange];

    self.lbl.delegate = self;

    self.lbl.userInteractionEnabled = YES;


}

实施代表

- (void)attributedLabel:(TTTAttributedLabel *)label
   didSelectLinkWithURL:(NSURL *)url
{
    [[UIApplication sharedApplication] openURL:url];
}

现在只需运行