リンクを検出するために TTTAttributedLabel を使用しています。ラベルを初期化するコードは次のとおりです。
- (TTTAttributedLabel *)getLinkLabelWithSize:(CGSize)size text:(NSString *)text{
TTTAttributedLabel *linkLabel;
linkLabel = [[TTTAttributedLabel alloc] initWithFrame:CGRectMake(0, 0, size.width * 1.1, size.height)];
linkLabel.font = [UIFont systemFontOfSize:14.0f];
linkLabel.backgroundColor = [UIColor clearColor];
linkLabel.lineBreakMode = UILineBreakModeWordWrap;
linkLabel.numberOfLines = 0;
linkLabel.enabledTextCheckingTypes = NSTextCheckingTypeLink;
linkLabel.delegate = self;
linkLabel.text = text;
return linkLabel;
}
Anther ビュー (xxxView) にラベルを追加します。
CGSize size = [str sizeWithFont:fon constrainedToSize:CGSizeMake(150, 40)];
[returnView addSubview:[self getLinkLabelWithSize:size text:str]];
そして、ここにラベルデリゲートメソッドがあります:
#pragma mark - TTTAttributedLabelDelegate
- (void)attributedLabel:(TTTAttributedLabel *)label
didSelectLinkWithURL:(NSURL *)url {
[[UIApplication sharedApplication] openURL:url];
}
問題は、リンクを開くために xxxView を何度も押さなければならないことです。私のコードに何か問題がありますか?
誰でも私を助けてくれませんか。