我将 URL 添加到 OHAttributedLabel 中的属性字符串(“忘记密码”链接到 www.xxx.com“)。一切看起来都很完美,除了当我点击那个字符串时,什么都没有发生。
它应该在 safari 中打开该 URL。然后当我尝试添加委托方法时。
-(BOOL)attributedLabel:(OHAttributedLabel*)attributedLabel shouldFollowLink:(NSTextCheckingResult*)linkInfo
根本不调用此委托方法。委托设置正确,因为我尝试了另一种委托方法并且它正在工作
-(UIColor*)attributedLabel:(OHAttributedLabel*)attributedLabel colorForLink:(NSTextCheckingResult*)linkInfo underlineStyle:(int32_t*)underlineStyle;
我通过 Interface builder 设置 UILabel 并将其类更改为 OHAtrributedLabel。这是我的代码
//forgotLabel.text is "Forgot Password"
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:forgotLabel.text];
[attr setLink:[NSURL URLWithString:@"http://www.yahoo.com"] range:NSMakeRange(0, attr.length)];
//forgotLabel is OHAttributedLabel
forgotLabel.attributedText = attr
forgotLabel.delegate = self;
有人可以帮忙吗?我不想使用 TTTAttributedLabel,因为在我的项目中,我在 tablecell 中使用了 OHAttributedLabel,它运行良好。所以我不想添加另一个几乎完全相同的第三部分组件。
提前致谢。