我想创建一个带有以下文本和超链接的UITextView。我已经将UITextView对象拖到了View中。
.h
和.m
文件如何实现以下目标?
答案 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];
}
现在只需运行