4

リンクを検出するために 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 を何度も押さなければならないことです。私のコードに何か問題がありますか?

誰でも私を助けてくれませんか。

4

2 に答える 2

1

セルコンテンツビューにTapGestureがあるかどうかを確認し、ある場合は、テキストメッセージセルからGestureを削除します

于 2016-07-16T07:57:05.157 に答える
0

この問題が発生したばかりで、新しくリリースされたバージョンに修正があることに気付いたとき、本当に必死になりました

于 2015-08-06T19:41:24.417 に答える