2017-02-25 113 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

您需要更改UIFontsize當你擴展您UITextView

否則你text會得到模糊的,因爲你一起text擴大了UITextView的實際框架,但目前UIFont仍然是一個小size所以你會看到它的像素化和模糊。

編輯: 計算字體大小:

Resize font size to fill UITextView?

+0

感謝潛行爲取回如此迅速。根據比例改變UIFont大小的最佳方式是什麼? –

+0

@PeterTao您應該首先在** gesture.state結束時才更改字體**,以避免出現性能問題。其次,我從來沒有這樣做過,但基本上你應該計算textView.bounds.size.height(如果它是單行文本),併爲字體或其他東西設置當量大小。最好的方法是,如果你只是試圖看看什麼尺寸的作品,並在視覺上很銳利而不會像素化。 – 2017-02-25 03:27:06

+0

@PeterTao我已經更新了答案。 – 2017-02-25 03:32:37