[解決済み] UILabelの実際の行数を知るには?
2023-06-30 14:37:53
質問
どのようにすれば
実際の
の行数を求めることができます。
UILabel
で初期化した後
text
と
font
? を設定しました。
numberOfLines
プロパティに
0
と設定すれば、必要な行数だけ展開されます。しかし、最終的に何行になったかは
text
?
似たような質問を見つけましたが、どれも簡潔な答えを示していないようです。
boundingRectWithSize
または
sizeWithFont
,...
どのように解決するのですか?
まずUILabelにテキストを設定します。
最初のオプション:
まず、フォントに応じたテキストの高さを計算します。
NSInteger lineCount = 0;
CGSize labelSize = (CGSize){yourLabel.frame.size.width, MAXFLOAT};
CGRect requiredSize = [self boundingRectWithSize:labelSize options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName: yourLabel.font} context:nil];
ここで行数を計算します。
int charSize = lroundf(yourLabel.font.lineHeight);
int rHeight = lroundf(requiredSize.height);
lineCount = rHeight/charSize;
NSLog(@"No of lines: %i",lineCount);
第二の選択肢:
NSInteger lineCount = 0;
CGSize textSize = CGSizeMake(yourLabel.frame.size.width, MAXFLOAT);
int rHeight = lroundf([yourLabel sizeThatFits:textSize].height);
int charSize = lroundf(yourLabel.font.lineHeight);
lineCount = rHeight/charSize;
NSLog(@"No of lines: %i",lineCount);
関連
-
[解決済み] UILabel 内のテキストを縦に上部に揃える
-
[解決済み] performSelectorのセレクタが不明なため、リークが発生する可能性があります。
-
[解決済み] iOSのバージョンを確認する方法を教えてください。
-
[解決済み] 奇妙な不要なXcodeログを隠す
-
[解決済み] Objective-CでNSNotificationCenterを通してメッセージを送受信する?
-
[解決済み] UIViewController のビューが表示されているかどうかを確認する方法
-
[解決済み] テキストフィールドを移動する方法(次へボタン/完了ボタン)
-
[解決済み] iOS - UITextFieldの外側をタッチするとキーボードが外れる。
-
[解決済み] Swift 3, 4, 5 で dispatch_after GCD を書くにはどうしたらいいですか?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
IOSラーニングノート「このクラスはxxxのキーバリューコーディングに対応していません」問題解決
-
[解決済み] 文字列の長さを取得する
-
[解決済み] UIViewに角丸をつける
-
[解決済み] UITextViewのマージン/パディングをなくす方法
-
[解決済み] UINavigationBarの1px下の行を非表示にする方法
-
[解決済み] UIDevice uniqueIdentifierは非推奨 - どうしたらいいの?
-
[解決済み] NSOperationとGrand Central Dispatchの比較
-
[解決済み] NSNotificationCenterのaddObserver in Swift
-
[解決済み] Swiftの配列を文字列に変換するには?
-
[解決済み] Cocoapods警告 - CocoaPodsがプロジェクトの基本構成を設定しなかった理由は、プロジェクトに既にカスタム構成が設定されているためです。