Cocoa Touchで文字列のピクセル幅を測定する必要があります。誰かがこれを行う方法を説明するリンクに私を指すことができますか?文字列のピクセル幅を測定する
答えて
iPhone OSでは若干異なりますが、代わりにNSString UIKit Additions Referenceをご覧ください。このアイデアはMac OS X用のCocoaと同じですが、もっと多くの方法があります。
テキスト使用の単一ラインの場合:
- (CGSize)sizeWithFont:(UIFont *)font
forWidth:(CGFloat)width
lineBreakMode:(UILineBreakMode)lineBreakMode
そして複数行のテキストを使用する:
- (CGSize)sizeWithFont:(UIFont *)font
constrainedToSize:(CGSize)size
lineBreakMode:(UILineBreakMode)lineBreakMode
テキストの単一ラインの引数としてUILineBreakMode
の使用が混乱することができますが、これはあります改行は、テキストを切り詰める方法を定義するためにも使用されるためです。
これは通常のフォントでうまくいくようですが、Zapfinoのようなフォントの正確な境界を与えるようには見えません。サンプルコードはhttp://paste.lisp.org/display/130803にあり、出力スクリーンショットはhttp://ScrnSht.com/juixwkにあります。任意のアイデアなぜ、どのようにそれを解決するには? – trss
はiOS7で廃止されました。ドキュメントは置き換えを参照していません..何かありますか? – abbood
現在のiOS7ドキュメント(Xcode 5.0.1)は、置き換え(iOS7のみ)を参照しています。 – JLundell
NSString Application Kit Additions Reference、具体的にはboundingRectWithSize:options:attributes:
をご覧ください。そのルーチンによって返される値は、NSString
の幅を与えるはずです。
'boundingRectWithSize:options:attributes:'を実際に使用する方法についてのドキュメントはあまり明確ではありません。実際にこのメソッドを使用して特定のフォントで文字列を測定する方法の例を追加できればいいと思います。 – PeyloW
上記の解決策は廃止されました。 iOS 7+を確認する
sizeWithFont:constrainedToSize:lineBreakMode
は廃止されました。以下のコードスニペットを使用してください
- 1. Pythonでの文字列幅の測定
- 2. 文字列の幅を正確に測定する方法は?
- 3. モノスペース文字のピクセル幅
- 4. Emgucvでピクセルの幅と高さを測定する方法は?
- 5. GWTの文字列幅(ピクセル単位)を計算します
- 6. 測定ピクセル
- 7. 特定のフォントの文字列の幅を特定する
- 8. 固定幅ファイルの文字列置換
- 9. WIN32で文字列の幅を見つける方法(ピクセル単位)
- 10. 2つの文字列の類似度を測定するアルゴリズム
- 11. 文字列のオブジェクトサイズを測定するJava
- 12. 文字列の高さを測定する
- 13. xmlの文字列の幅の値を定義する
- 14. HTML5キャンバス内の文字列の幅を決定する
- 15. PHP - 文字列の幅を決定する方法
- 16. ラップされた文字列を測定する
- 17. デフォルトの測定単位ではなく、Excelの列の幅をピクセル単位で取得します
- 18. divの幅をJavascriptで測定する
- 19. 文字列の長さ(ピクセル単位)
- 20. 文字幅を設定する
- 21. 固定幅の文字列を破るGridviewセル
- 22. ライブマイクの振幅測定C#
- 23. 測定物体の幅
- 24. 文書の幅に合う文字数を測定するにはどうすればよいですか?
- 25. ピクセル内の文字列の実際の幅に基づいて配列を並べ替えます。
- 26. 特定の幅に収まる文字列の長さ
- 27. 文字列の長さを測定する変数を作成する
- 28. 文字列の幅をピクセル単位で計算するにはどうすればよいですか?
- 29. wpfで文字列のピクセル長を計算する方法は?
- 30. コードネーム1の描画された文字列(ピクセル単位)の幅を正確に取得する方法は?
この質問は実際にはMac OS X用のCocoaまたはiPhone OS用のCocoa Touchの機能に関する一般的な対話-cの回答を求めてはいけません。 Objective-Cは、CocoaとCocoa Touchの両方が使用するプログラミング言語です。 – PeyloW
Mac OSまたはIOS用のプログラミングの他に、objective-cの他の用途はありますか?もしそうなら、それは重要ですか? –