我必须更改字体尺寸,当我这样做时:
当我做2号时,它不会保持居中:
label.font = label.font.withSize(max*percentage)
label.sizeToFit()
如果我不这样做,我将不得不改变框架并找到它如何动态地适应字体。 有2行的优雅方式吗?
答案 0 :(得分:1)
如果要为标签保留相同的中心,则必须先定义一个中心。您可以创建UIView
,然后将标签置于视图中心,然后将clipToBounds
设置为false。在这种情况下,您的标签在视图中居中。
这UIView
实际上可以是任何东西。您只需要约束来告诉swift您的标签与某些内容相关,在更新框架时,将其保持居中。这是一个标签以我的视图控制器为中心的示例
我有时间每秒增加字体大小
func timerDidFire(timer: Timer) {
size += 5
label.font = label.font.withSize(CGFloat(size))
label.sizeToFit()
}
模拟器结果是
答案 1 :(得分:0)
结束这样做:
let center:CGPoint=editedView.center // first take the center
label.font = label.font.withSize(max*percentage)
label.sizeToFit() // set right size
label.center=center //then set it back