在iOS应用程序中,是否可以对文本进行挤压缩放(甚至双击进行缩放)?我已经为工作做了一个小的应用程序,基本上是一个紧急联系人的列表,并想添加功能,使文本放大缩放。
我通过创建一个按钮来以编程方式增加字体大小,但在视图控制器之间来回传递数据时遇到了问题。
我认为,如果能够实现,夹点缩放将是一个更容易的解决方案。谷歌我已经找到了缩放图像的例子,但没有关于缩放文本的例子。我见过在safari中使用webkit实现它,但还没有找到任何如何实现它的编码示例。
我非常感谢任何意见,即使只是说这是不可能的,至少我可以寻找另一种解决方案。
发布于 2017-10-01 07:55:41
这段简单的代码将在收缩时放大或缩小myTextView中的文本。Swift 3
@IBOutlet weak var myTextView: UITextView!
var pinchGesture = UIPinchGestureRecognizer()
override func viewDidLoad() {
super.viewDidLoad()
pinchGesture = UIPinchGestureRecognizer(target: self, action:#selector(pinchText(sender:)))
myTextView.addGestureRecognizer(pinchGesture)
}
@objc func pinchText(sender: UIPinchGestureRecognizer) {
var pointSize = myTextView.font?.pointSize
pointSize = ((sender.velocity > 0) ? 1 : -1) * 1 + pointSize!;
myTextView.font = UIFont( name: "arial", size: (pointSize)!)
}
更新-如果需要保留格式化文本:
@objc func pinchText(sender: UIPinchGestureRecognizer) {
var pointSize = CGFloat(UserDefaults.standard.float(forKey: "fontSize"))
pointSize = ((sender.velocity > 0) ? 1 : -1) * 1 + pointSize!;
UserDefaults.standard.set(pointSize, forKey: "fontSize")
UserDefaults.standard.synchronize()
let formattedText = NSMutableAttributedString.init(attributedString: myTextView!.attributedText)
formattedText.addAttribute(NSAttributedStringKey.font, value: UIFont.systemFont(ofSize: pointSize), range: NSRange(location: 0, length: formattedText.length))
myTextView.attributedText = formattedText
}
https://stackoverflow.com/questions/46467777
复制相似问题