动画自动UILabel文本大小更改

时间:2016-05-12 19:21:43

标签: ios iphone xcode swift

我已将UILabel设置为自动缩放文本以适合标签框架。在运行时,我正在改变这个框架的大小,以便为下面的东西腾出空间,但我真的希望大小更改是动画的,因为文本从一个尺寸跳到一个较小的尺寸,这看起来不太好。

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:0)

使用UIView.animateWithDuration设置高度变化的动画。下面是一个动画UILabel高度变化的示例,持续时间为2秒:

@IBOutlet weak var label: UILabel!

override func viewDidLoad() {
  super.viewDidLoad()

  let updatedHeight: CGFloat = 100.0
  let updatedFrame = CGRect(origin:label.frame.origin,
    size: CGSize(width:label.frame.width, height: updatedHeight))

  UIView.animateWithDuration(2.0, animations: {
    self.label.frame = updatedFrame
  })
}