13

フォントに許可されている最大サイズを知る方法はありますか。

私がやっている

textInputTextView.font = [UIFont fontWithName:currentFontName size:doubleFontSize];
frame.size = textInputTextView.contentSize;

さまざまなフォントで、doubleFontSizeが 70 を超えると間違った contentSize が取得されます。一部のフォントでは、doubleFontSize変数が 40 しかない場合に間違った contentSize が取得されます。

textView.font = doubleSizeFontは、これらの特定のフォントには大きすぎると推測しています。フォント サイズが 10 ~ 30 の小さい場合はすべて問題ありません。

特定のフォントで許可されている最大サイズを知る方法はありますか?

詳細:

UITextView からの画像が必要です。UIGraphicsGetImageFromCurrentImageContextを使用してい ます画像は正常に生成されています。しかし、画質が悪いことに気づきました。そこでTextViewのフレームとフォントを2重にしてみました。

私が大きなフォントで書くとき、「私はいい子です」という言葉が一番右にある場合。「私は男の子です」と表示されます。右端の「良い」という単語が消えます。画像の右側に空白ができます。なんと悲劇的 :)

4

2 に答える 2

2

次のコードを使用して、コンテンツの高さ/幅を計算できます。次に、フレームのサイズを変更します。ここで私の幅は固定(290)で、高さを計算しています。

CGSize strSize= [DataToBeDisplayed sizeWithFont:[UIFont systemFontOfSize:17.0] constrainedToSize:CGSizeMake(290.0,99999.0)];
frame.size.height = strSize.height
于 2012-05-29T09:14:06.347 に答える
1

あなたが抱えている問題は、UITextViewを使用しているためだと思います。テキスト ビューはUIScrollViewから継承するため、フォントのサイズを小さくすることはなく、コンテンツのサイズを調整してテキストをスクロール可能にするだけです。

代わりに UIView から継承するUITextFieldを使用します(したがって、画像として使用できます) が、より詳細な制御が可能になります。そのサイズを画面に表示したい最大値に固定してから、[mylabel adjustsFontSizeToFitWidth:Y/N][mylabel setminimumfontsize:somefontsize]メソッドの両方を操作し、入力するテキストが多すぎる場合は制限します。これにより、鮮明な大きなフォントが得られ、入力時に動的にフィットします

~/行末

于 2012-07-10T15:10:00.433 に答える