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 值不会改变 [重复]

Swift UIButton背景颜色不会改变

状态栏样式不会因单个视图而改变 - Swift 2/iOS9

在 Swift 中增加列表项时,列表框架高度不会改变

UIStatusBarStyle 不会改变

按钮图像不会改变