增加捏手势的字体大小

Increase font size in pinch gesture

我有一个 UILabel,其字体大小将在捏合手势时增加 iOS swift。我可以增加字体大小,但视图有问题。认为 sizeToFit() 会根据需要增加高度和宽度,但不会反映在视图上,即标签在视图中保持不变。请帮我增加标签的大小,同时增加字体大小。

 @IBAction func increaseTextFont(sender: UIPinchGestureRecognizer) {
        var pinchScale = sender.scale
        pinchScale = round(pinchScale * 1000) / 1000.0

        if (pinchScale < 1) {
            testLabel.font = UIFont( name: "arial", size: testLabel.font.pointSize - pinchScale)
        }
        else{
            testLabel.font = UIFont( name: "arial", size: testLabel.font.pointSize + pinchScale)
        }
testLabel.frame.height * pinchScale))
        testLabel.frame.size.height *= pinchScale
        testLabel.frame.size.width *= pinchScale
        self.testLabel.layoutIfNeeded()
        print(testLabel.frame.size.height)
        print(testLabel.frame.size.width)

    }

为了演示,我做了一个测试demo,你可以看到相同的结果,

标签的约束条件如下,

您可能需要根据您必须设计的 UI 或要求更改约束,只需确保您 不设置高度约束label 如果您必须使标签多行,则相应地设置约束和标签属性。

捏合手势代码,

@IBOutlet 弱变量标签测试:UI标签!

 @IBAction func increaseTextFont(sender: UIPinchGestureRecognizer) {
    
    var pinchScale = sender.scale
    pinchScale = round(pinchScale * 1000) / 1000.0
    
    if (pinchScale < 1) {
        labelTest.font = UIFont( name: "arial", size: labelTest.font.pointSize - pinchScale)
    }
    else{
        labelTest.font = UIFont( name: "arial", size: labelTest.font.pointSize + pinchScale)
    }
}

您还需要根据要求限制文本的增长。

希望对您有所帮助。