1

OHAttributedLabel (「パスワードを忘れた」リンクから www.xxx.com へのリンク) の属性付き文字列に URL を追加します。その文字列をクリックしても何も起こらないことを除いて、すべてが完璧に見えます。

その URL を safari で開く必要があります。そして、デリゲートメソッドを追加しようとしたとき。

-(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;

誰か助けてくれませんか?私のプロジェクトではテーブルセルで OHAttributedLabel を使用し、完全に機能するため、 TTTAttributedLabel を使用したくありません。したがって、ほぼ同じことを行う別の第 3 部コンポーネントを追加したくありません。

前もって感謝します。

4

1 に答える 1