2011-10-25 5 views
0

どこでも簡単な例は見つかりません。私のコードは、現在であるのはここ...だコアテキストを使用してテキストに下線を付けるにはどうすればよいですか?

(注:名前がfontWithCTFontがUIFontのカテゴリーから来て、UILabelである)スタイルはCTUnderlineStyleCTUnderlineStyleModifiersのビット単位マスクの組み合わせである

CTFontRef helveticaBold = CTFontCreateWithName(CFSTR("Helvetica-Bold"), 24.0, NULL); 
[name setFont:[UIFont fontWithCTFont:helveticaBold]]; 

答えて

2

[attrStr addAttribute:(NSString*)kCTUnderlineStyleAttributeName value:[NSNumber numberWithInt:style] range:range];値。

はgithubの上の私のOHAttributedLabelクラスを参照してください、そして特に私のNSAttributedString+Attributesカテゴリ

+0

は、このクラスのインスタンスに私自身のジェスチャー認識を持つことが可能ではないですか? –

+0

あなたはUILabelでそれを持つのと同じ方法で可能でしょう... 'onlyCatchTouchesOnLinks'を' NO'に設定するとどうでしょうか? (デフォルトで 'YES'に設定されている場合は、デフォルトで' hitTest:withEvent: 'メソッドがオーバーライドされてイベントがラベルを通過しますが、これはGestureRecognizerがそのような場合に動作しない理由です。 – AliSoftware

+0

'onlyCatchTouchesOnLinks'プロパティは、UITableViewCellsのようなものが' didSelectCell'デリゲートメソッドでタッチイベントを捕捉しないようにするのに便利です( 'OHAttributedLabel'がイベントをキャッチする前に)。ラベルにUIGestureRecognizerを入れてください。これはおそらくあなたが望むような振る舞いではないので、 'onlyCatchTouchesOnLinks = NO'を設定すると(ラベルにすべてのイベントジェスチャとタッチをキャッチさせるため)、おそらく、デフォルトの振る舞いスルー! – AliSoftware

関連する問題