1. ホーム
  2. ios

[解決済み] iOS 7 TextKit - テキストに画像をインラインで挿入するには?

2022-11-01 08:52:28

質問

UITextViewを使って、以下のような効果を得ようとしています。

基本的に、私はテキストの間に画像を挿入したいです。画像は単純に1行分のスペースを占めればいいので、折り返しは必要ありません。

私はちょうどサブビューにUIViewを追加しようとしました。

UIView *pictureView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 25, 25)];
[pictureView setBackgroundColor:[UIColor redColor]];
[self.textView addSubview:pictureView];

でも、テキストに浮いてかぶってしまうようです。

を少し読んでみたのですが 除外パス を少し読みましたが、これはこれを実装する一つの方法であるように見えます。しかし、私は画像を絶対に配置したくないのです。その代わりに、画像はテキストと一緒に流れるべきです。 <span> がHTMLで動作するのと同じです)。

どのように解決するのですか?

のインスタンスとして画像を追加する必要があります。 NSTextAttachment :

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:@"like after"];

NSTextAttachment *textAttachment = [[NSTextAttachment alloc] init];
textAttachment.image = [UIImage imageNamed:@"whatever.png"];

NSAttributedString *attrStringWithImage = [NSAttributedString attributedStringWithAttachment:textAttachment];

[attributedString replaceCharactersInRange:NSMakeRange(4, 1) withAttributedString:attrStringWithImage];