如何在字体大小不同的情况下平滑地动态增加和减少UILabel的文本

时间:2014-09-09 09:17:43

标签: ios iphone fonts swift

我尝试过搜索此功能,但没有解决我的问题。

我想要的:我有一个UILabels文本作为"参加"初始字体大小为28(总共四个标签具有不同的字体大小和文本)。现在我改变滑块(放在底部),我将发送字体大小增加或增加。现在,我不仅希望改变字体大小,还想改变像

这样的UILabel框架
self.labelAttendCount.frame = CGRectMake(40 + (diff * 0.7) , 110 - (diff * 0.3), 40 - diff/5, 30 - (diff * 0.3))
self.labelAttendCount.font = UIFont(name: "ArialMT", size: round(28 - (diff * 0.28)))

一切都很顺利但是,当它的位置正在改变它的生涩(或摇摇欲坠)。我希望这个问题得到顺利处理。

请参阅此链接,标签大小会平稳增加或减少。 http://macoscope.com/blog/ios-7-dynamic-type-simulator-for-designers/

希望你理解我的问题。

请检查此共享视频链接(已删除的链接)

此解决方案可能对某些人有用。

最后得到一个解决方案来缩小UILabel或UIButton Text并改变它们的位置:

将UILabels作为UIView的子视图。

    viewLeft.addsubView(labelAttendedCount)

    viewLeft.transform = CGAffineTransformMakeScale(1 - (diff * 0.01), 1 - (diff * 0.01)) // to shrink viewLeft UIView
        viewLeft.frame = CGRectMake(25 + (diff * 0.8), 110 - (diff * 0.3), 100 , 50 - diff/2) // to move the ViewLeft and diff is increase in the contentoffset or UIPanGesture location.y
        viewLeft.center = CGPointMake(25 + viewLeft.frame.width/2 + (diff * 0.8), viewLeft.frame.origin.y + viewLeft.frame.height/2)  // To adjust the position of the UIView.

1 个答案:

答案 0 :(得分:2)

您可以使用UIView的转换,例如

,而不是更改字体大小
self.labelAttendCount.transform = CGAffineTransformMakeScale(1.5, 1.5);