1

我正在使用AutoLayout. 我有一个 %10 宽度和 200 固定高度的视图。我在UILabel该视图中放置了 0 个边距。然后我正在旋转UILabel,更改内容和调用sizeToFit()函数。在控制器加载时,旋转有效,但内容被截断。在我点击控制器按钮后,它UILabel正在被放大并且内容正在被调整。

我应该怎么做才能避免这个问题?

注意:我通过调试检查了标签框架的宽度和高度。sizeToFit()框架的宽度和高度按预期更改后。但是,UI 并不令人耳目一新。我也尝试过label.setNeedsLayout()label.layoutIfNeeded()但没有任何改变。

对于旋转,我使用以下扩展名:

extension UILabel {
    @IBInspectable
    var rotation: Int {
        get {
             return 0
        } set {
            let radians = CGFloat(CGFloat(Double.pi) * CGFloat(newValue) / CGFloat(180.0))
            self.transform = CGAffineTransform(rotationAngle: radians)
        }
    }
}
4

1 回答 1

1

您可以尝试view.layoutIfNeeded()代替label.layoutIfNeeded()

于 2018-03-08T13:58:10.373 回答