将变量值传递给UIFont systemFontOfSize函数

时间:2016-01-30 21:19:32

标签: ios uibutton swift2 xcode7

我需要一个带圆角和标题标签的按钮,其字体大小与按钮高度成比例

我的按钮有一个自定义类:

class RoundedButton: UIButton {

override func layoutSubviews() {

    super.layoutSubviews()

    layer.cornerRadius = bounds.size.height / 2.0
    clipsToBounds = true

    let size : CGFloat = (self.titleLabel!.font.pointSize*self.frame.height)/30
    self.titleLabel!.font = UIFont.systemFontOfSize(size)
}
}

我需要按比例设置标题标签字体大小,因为按钮的高度与视图的高度成比例变化。

如果我直接传递值代码工作:

self.titleLabel!.font = UIFont.systemFontOfSize(18)

但如果我从变量传递值,则代码不起作用:

self.titleLabel!.font = UIFont.systemFontOfSize(size)

任何想法?

提前致谢

1 个答案:

答案 0 :(得分:0)

您需要正确包装size定义。

let size = CGFloat((self.titleLabel!.font.pointSize*self.frame.height)/30)
self.titleLabel!.font = UIFont.systemFontOfSize(size)