0

カスタムフォント(ttfファイル)のUITextViewがあり、完璧に機能しますが、次のコードでテキストの幅を取得しようとしています

UITextView*textInput;



CGFloat width1 =  [textInput.text sizeWithFont:textInput.font].width;


frame.size.width=width1;
textInput.frame = frame;

正しく機能しません。width1はテキストの実際の幅よりも小さくなります。

4

1 に答える 1

4

あなたのコードでは、textInputが何であるかわかりませんが、おそらくUITextViewが使用する実際のフォントのない文字列です。UITextView には attributedText プロパティがあり、これを介して NSAttributedString を取得できます。
この後、サイズを取得できます。

NSMutableAttributedString* attributedString=[myTextView attributedText];
NSSize size=[attributedString size];

次に、size.width が幅になります。

于 2012-11-07T17:53:18.947 に答える