Animate自动UILabel文本大小更改

Animate自动UILabel文本大小更改

问题描述:

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

有什么办法可以做到这一点?

+0

提到的手动更改他的标签的字体大小,而我的字体大小的变化自动根据标签的大小问题的家伙,使用最小的字体比例。 –

+1

没有区别。只需要使用一个参数。 – Coder1000

+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 
    }) 
} 
+0

这不是我正在寻找。我已经对高度变化进行了动画处理l - 我正在寻找的是动态调整标签大小调整后发生的自动字体大小变化,以适当地适应文本。 –

+0

由于您正在降低UILabels高度,您是否可以使用变换? 'let labelScale = updatedLabelFrame.height/originalLabelFrame.height''self.label.transform = CGAffineTransformScale(self.label.transform,labelScale,labelScale)'这会给你[下面的动画](http://i.stack。在UIView.animateWithDuration里面 –