我正在使用TTTAttributedLabel
制作UILabel
超链接,我正在尝试按以下方式执行此操作:
NSAttributedString *attString = [[NSAttributedString alloc] initWithString:@"By tapping you agree to the Terms of Use and Privacy Policy."
attributes:@{
(id)kCTForegroundColorAttributeName : (id)[UIColor redColor].CGColor,
NSFontAttributeName : [UIFont boldSystemFontOfSize:16],
NSKernAttributeName : [NSNull null],
(id)kTTTBackgroundFillColorAttributeName : (id)[UIColor greenColor].CGColor
}];
// The attributed string is directly set, without inheriting any other text
// properties of the label.
self.tttTermAndCondition.text = attString;
self.tttTermAndCondition.delegate = self; // Delegate methods are called when the user taps on a link (see `TTTAttributedLabelDelegate` protocol)
//self.tttTermAndCondition.text = @"Fork me on GitHub! (http://github.com/mattt/TTTAttributedLabel/)"; // Repository URL will be automatically detected and linked
self.tttTermAndCondition.enabledTextCheckingTypes = NSTextCheckingTypeLink;
NSRange range = [self.tttTermAndCondition.text rangeOfString:@"Terms of Use"];
[self.tttTermAndCondition addLinkToURL:[NSURL URLWithString:@"http://github.com/mattt/"] withRange:range];
这显示得很好,但是当我点击使用条款时,
TTTAtributedLabel 在它的 - (NSArray *) links 方法中崩溃,它变成了一个僵尸对象。
我不知道我到底错过了什么。
提前致谢。