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