Swift font.withSize不改变UILabel上的字体大小

时间:2018-04-18 15:45:04

标签: swift fonts uilabel font-size swift-playground

我在项目中更改字体大小时遇到​​了麻烦,所以我做了一个游乐场。无论我在哪里放置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
        }
    }

2 个答案:

答案 0 :(得分:10)

withSize(_:)不会修改字体。它返回一个新字体,其属性与您调用它的字体相同,但具有新大小。您必须为其分配标签的字体:

label.font = label.font.withSize(80)

答案 1 :(得分:3)

您无法设置UIFont的大小。

UIFont.withSize()是一个初始值设定项,它将返回一个新的UIFont对象,该对象具有与原始对象相同的特性,但指定了字体大小。

因此,您需要为标签指定一个尺寸正确的新字体。 对于您的示例,您可以使用:

label.font = label.font.withSize(80)