太字を太字で太字でないようにUitextViewのテキストを設定する方法

StackOverflow https://stackoverflow.com//questions/22064380

  •  23-12-2019
  •  | 
  •  

質問

UITextViewには、次のHTMLがあり、UITextView

にレンダリングしたいと思います。

音符のための私の体です

<a href="/arc/item/21">food item - more item stuff</a>;`
.

追加させてください:現在青くて下線を引いてクリック可能ではありません。それを太字にしてクリックすることはできません。私はlinkTextAttributesに関するドキュメントを読みましたが、これを使っていない、それは私を超えて少しです、そして私はこれを操作する簡単な方法は本当にわかりません。上記のリンクを太字で太字で太字でレンダリングし、クリック可能な自然を維持していますか?

役に立ちましたか?

解決

更新 uitextviewのlinkTextAttributes

self.testTextView.editable = NO;
self.testTextView.selectable = YES;
self.testTextView.userInteractionEnabled = NO;  // workaround to disable link - CAUTION: it also disables scrolling of UITextView content
self.testTextView.dataDetectorTypes = UIDataDetectorTypeLink;
self.testTextView.linkTextAttributes = @{NSFontAttributeName : [UIFont boldSystemFontOfSize:14.0f], // NOT WORKING !?
                                         NSForegroundColorAttributeName : [UIColor redColor]};

...

self.testTextView.text = @"Lorem ipsum http://www.apple.com Lorem ipsum";
.

コメントを見ることができるように、color属性は予想どおりに機能していましたが、LinkTextAttributesに新しいフォントを設定できませんでした。

COLOR属性やその他のテキスト属性を除去できる場合は、URLをスタイルして、無効にしているUITEXTViewスクロールを心配する必要がない場合は、ソリューションになる可能性があります。


前の(代替ソリューション)

あなたがあなたのUITEXTVIEWのために検出 - >リンクを選択解除したことを確認してください。コンテナフォントをいくつかの太字の書体に設定することで、リンクを太字にすることができます。 1つの文字列オブジェクトでさまざまなテキスト/フォントスタイルをサポートしたい場合は、本当に nsattributedString または nsmutableAtributedString

https: //developer.apple.com/library/ios/documentation/cocoa/reference/foundation/classes/nsattributedstring_class/reference/reference.html

UIFont *linkFont = [UIFont fontWithName:@"SomeBoldTypeface" size:12];
NSString *link = @"food item - more item stuff";

NSMutableAttributedString *someString = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"is my body for the note %@; let me ad", link]];
[someString addAttribute:NSFontAttributeName value:linkFont range:NSMakeRange(24, link.length)];

UITextView *textView = [[UITextView alloc] init];
textView.attributedText = someString;
...
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top