2017-02-25 2 views
0

UITextViewはどのようにテキストの明瞭さを損なうことなく(UIPinchGestureRecognizerによって)拡大縮小できますか?スケールUITextViewとテキストの明瞭度を維持

これはスケールアップするときぼやけUITextViewある:

enter image description here

をこれが(Snapchatに作成された)所望の効果です。ここで

enter image description here

私のコードです:

func scale(_ sender:UIPinchGestureRecognizer) { 
    sender.view?.transform = (sender.view?.transform.scaledBy(x: sender.scale, y: sender.scale))! 
    sender.scale = 1 
} 

答えて

1

あなたはあなたのUITextViewをスケールアップしたときにUIFontsizeを変更する必要があります。

あなたはtextと一緒UITextViewの実際のフレームをスケールアップしているので、そうでない場合は、あなたのtextがぼやけて取得しますが、現在のUIFontはまだ小さいsizeので、あなたがピクセル化し、ぼやけたとして、それが表示されますです。

EDIT: 計算フォントサイズ:

Resize font size to fill UITextView?

+0

おかげでこんなに早く戻って取得するために潜入。規模に比例してUIFontサイズを変更する最良の方法は何ですか? –

+0

@PeterTao **パフォーマンスの問題を避けるため、まず** gesture.stateが終了したときにのみフォントを変更する必要があります**。第二に、私はそれをやったことはありませんが、基本的にはtextView.bounds.size.height(一行のテキストの場合)を計算し、等価なサイズをフォントなどに設定する必要があります。最良の方法は、あなたがちょうどどんなサイズの作品が見えて、ピクセル化されずに視覚的に鮮明であるかを試してみることです。 –

+0

@PeterTao私は答えを更新しました。 –

関連する問題