Swift font.withSize 不会改变 UILabel 上的字体大小
Posted
技术标签:
【中文标题】Swift font.withSize 不会改变 UILabel 上的字体大小【英文标题】:Swift font.withSize not changing font size on UILabel 【发布时间】:2018-09-28 22:36:41 【问题描述】:我在项目中更改字体大小时遇到问题,所以我做了一个游乐场。无论我把 font.withSize 属性放在哪里,模拟器都不会反映字体大小的变化。
import UIKit
import PlaygroundSupport
class MyViewController : UIViewController
override func loadView()
let view = UIView()
view.backgroundColor = .white
let label = UILabel()
label.font.withSize(80)
label.frame = CGRect(x: 150, y: 200, width: 200, height: 20)
label.text = "Hello Mom!"
label.textColor = .black
view.addSubview(label)
self.view = view
【问题讨论】:
【参考方案1】:withSize(_:)
不修改字体。它返回一个新字体,它与你调用它的字体具有相同的属性,但具有新的大小。您必须将标签的字体分配给它:
label.font = label.font.withSize(80)
【讨论】:
【参考方案2】:您不能设置 UIFont 的大小。
UIFont.withSize() 是一个初始化器,将返回一个新的 UIFont 对象,该对象具有与原始对象相同的特征,但指定了字体大小。
因此,您需要为标签分配正确大小的新字体。 对于您的示例,您可以使用:
label.font = label.font.withSize(80)
【讨论】:
以上是关于Swift font.withSize 不会改变 UILabel 上的字体大小的主要内容,如果未能解决你的问题,请参考以下文章
尽管声明明确,但 Swift 中的 String 值不会改变 [重复]