在 Swift 中,我有一行说var timerFontSize = 85
。我想拥有行timerLabel.font = UIFont(name: "HelveticaNeue-Ultralight", size: timerFontSize)
,虽然这不起作用。它只允许我键入一个数字,而不是将其分配给变量。我不想只输入数字的原因是因为我有一个计时器,每一秒字体变量都会下降1.
如何将字体大小设置为等于整数?
答案 0 :(得分:3)
只需输入数字到CGFloat
UIFont(name: "HelveticaNeue-Ultralight", size: CGFloat(timerFontSize))
答案 1 :(得分:2)
使用此行:
var timerFontSize = 85
您将隐式设置变量设置为Int
,而创建字体的方法则采用CGFloat
参数。
您可以在调用方法时将此变量强制转换为CGFloat
,或者可以将变量显式创建为CGFloat
类型:
var timerFontSize: CGFloat = 85
值得注意的是
var timerFontSize = 85.0
将timerFontSize
创建为double,然后
var timerFontSize = 85.0f
创建timerFontSize
作为浮动。
前者适用于64位设备,其中CGFloat
最终为双倍,而后者适用于32位设备,其中CGFloat
最终成为浮点数。但是你不想使用其中任何一个选项,因为它会在另一个设备上崩溃。
CGFloat
是float
/ double
的typedef,具体取决于设备是32位还是64位处理器。