5

CGAffineTransformScaleを使用してUIViewを拡大する関数を作成しました。2倍にズームインすると、すべてのテキストが非常にぼやけて見えます。そもそも高解像度であれば画像はOKです。ズームインした後、すべてのテキストを適切な解像度で再レンダリングする方法はありますか?

編集: 私は私の問題の部分的な解決策を見つけました:http: //markpospesel.wordpress.com/2012/04/03/on-the-importance-of-setting-contentscalefactor-in-catiledlayer-backed-views/

  • (void)didMoveToWindow {self.contentScaleFactor = 2.0; }

上記のメソッドをUIViewカテゴリに追加することにより、UILabel、UIButton、およびその他のほとんどのビューが高解像度でレンダリングされるようになりました。ただし、これはUITextViewまたはUIWebViewには影響しません。これら2つのビューのいずれか内のテキストはまだあいまいです。

したがって、新しい質問は、ズームイン後にUITextViewまたはUIWebViewを高解像度で再描画するにはどうすればよいかということです。

4

1 に答える 1

7

はい。UIView に を設定しcontentScaleFactorて、バッキング ビューをより高い解像度でレンダリングすることができます。ただし、Retina デバイスには注意してください。あなたの新しいcontentScaleFactorが少なくともあなたのものであることを確認したい[[UIScreen mainScreen] scale]. (スムーズになるように、アニメーションの前にこれを設定します。)

contentScaleFactor編集: 明確にするために、テキスト ビュー自体の を[[UIScreen mainScreen] scale] * 22x ズームの例に設定する必要があるでしょう。

于 2012-06-26T00:39:59.747 に答える