[解決済み] NSAttributedStringのboundingRectWithSizeが間違ったサイズを返す
2022-04-27 23:59:44
質問
属性付きの文字列の矩形を取得しようとしていますが、boundingRectWithSizeの呼び出しが、渡したサイズを尊重せず、大きな高さではなく1行の高さの矩形を返しています(長い文字列です)。以下のコードのように、height に非常に大きな値や 0 を渡して実験してみましたが、返される rect はいつも同じです。
CGRect paragraphRect = [attributedText boundingRectWithSize:CGSizeMake(300,0.0)
options:NSStringDrawingUsesDeviceMetrics
context:nil];
これは壊れているのでしょうか、それとも折り返しテキスト用の矩形を返すようにするために何か他のことをする必要があるのでしょうか?
解決方法は?
正しいオプションが与えられていないようです。ラッピングラベルの場合は、最低でも以下のオプションを指定してください。
CGRect paragraphRect =
[attributedText boundingRectWithSize:CGSizeMake(300.f, CGFLOAT_MAX)
options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading)
context:nil];
注意:元のテキストの幅が300.f以下の場合、行の折り返しは行われませんので、バインドサイズが正しいことを確認してください。
関連
-
[解決済み] Objective-Cは構造体の使用を禁じていますか?
-
[解決済み] Objective-Cのnil、NIL、nullの違いについて
-
[解決済み] プロジェクト内の単一ファイルのARCを無効にするにはどうしたらいいですか?
-
[解決済み] objectForKeyとvalueForKeyの違い?
-
[解決済み】NSAttributedStringはどのように使うのですか?
-
[解決済み】UITableViewControllerを使用しないUIRefreshControl
-
[解決済み】Windows版Objective-C
-
[解決済み】NSStringが特定の文字で始まるかどうかを確認する方法
-
[解決済み] registerForRemoteNotificationTypes: は iOS 8.0 以降でサポートされていません。
-
[解決済み】新しい自動リファレンスカウント機構はどのように機能するのですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Objective-Cでオブジェクトをキャストする方法
-
[解決済み] NSStringにパーセント記号を追加する方法
-
[解決済み] NSDictionary または NSMutableDictionary にキーが含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] newの代わりにalloc initを使用する
-
[解決済み】NSArrayをアルファベット順に並べるには?
-
[解決済み】isEqual:とハッシュをオーバーライドするためのベストプラクティス
-
[解決済み】idの代わりにinstancetypeを使い始めるのは有益でしょうか?
-
[解決済み】NSStringが特定の文字で始まるかどうかを確認する方法
-
[解決済み] [Solved] UITableViewがReloadDataを完了したことを伝えるには?
-
[解決済み】Cocoaアプリからターミナルコマンドを実行する