[解決済み] NSTextAttachmentの画像を1行のUILabelの横に配置する。
2022-06-01 11:08:22
質問
を追加したいのですが
NSTextAttachment
を付加し、それを垂直方向にセンタリングしたい。
文字列を作成するために、以下のコードを使用しました。
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:DDLocalizedString(@"title.upcomingHotspots") attributes:attrs];
NSTextAttachment *attachment = [[NSTextAttachment alloc] init];
attachment.image = [[UIImage imageNamed:@"help.png"] imageScaledToFitSize:CGSizeMake(14.f, 14.f)];
cell.textLabel.attributedText = [str copy];
しかし、画像はセルの上部に整列して表示され
textLabel
.
添付ファイルが描画される矩形を変更するにはどうすればよいですか?
どのように解決するのですか?
サブクラスで矩形を変更することができます。
NSTextAttachment
をオーバーライドし
attachmentBoundsForTextContainer:proposedLineFragment:glyphPosition:characterIndex:
. 例
- (CGRect)attachmentBoundsForTextContainer:(NSTextContainer *)textContainer proposedLineFragment:(CGRect)lineFrag glyphPosition:(CGPoint)position characterIndex:(NSUInteger)charIndex {
CGRect bounds;
bounds.origin = CGPointMake(0, -5);
bounds.size = self.image.size;
return bounds;
}
完璧な解決策ではありません。 Y 軸は「目で見て」把握する必要がありますし、フォントやアイコン サイズを変更すると、おそらく Y 軸も変更したくなるはずです。 しかし、アイコンを別の画像ビューに置くこと (これには欠点があります) 以外に、これ以上の方法は見つかりませんでした。
関連
-
[解決済み] Objective-Cで、ある文字列が他の文字列を含んでいるかどうかを調べるにはどうすればよいですか?
-
[解決済み] UITextViewのプレースホルダー
-
[解決済み] UITextFieldのテキスト変更イベント
-
[解決済み] iOSで現在のデバイスの言語を取得するには?
-
[解決済み] iOS 7でステータスバーとナビゲーションバーがビューの境界を越えて表示される
-
[解決済み] UIViewの角丸とドロップシャドウ?
-
[解決済み] セキュリティで保護されたWebサービスにもアクセスするiOSアプリで、Facebook認証を行うためのデザイン
-
[解決済み】UILabelに改行を追加するには?
-
[解決済み】UILabel テキストの中央揃え
-
[解決済み】UILabelで行間をコントロールする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Xcode 6.3 - 現在の iOS Development 証明書または保留中の証明書要求がすでにあります。
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] performSelectorのセレクタが不明なため、リークが発生する可能性があります。
-
[解決済み] iOSのバージョンを確認する方法を教えてください。
-
[解決済み] UIViewController のビューが表示されているかどうかを確認する方法
-
[解決済み] Unwind segueは何に使うのか、どう使うのか?
-
[解決済み] 「GCC使用時に「Xcode/iOSのライセンスに同意するには管理者権限が必要です。rootでsudoを使用して再実行してください。
-
[解決済み] Swiftを使用してアプリのバージョンとビルド番号を取得するにはどうすればよいですか?
-
[解決済み] UIButtonで、テキストの右側に画像を配置するにはどうすればよいですか?
-
[解決済み] UILabelに小さなアイコンを埋め込む方法