【问题标题】:How to change Button text size in iOS 8 swift如何在 iOS 8 swift 中更改按钮文本大小
【发布时间】:2015-11-02 12:49:42
【问题描述】:

我有一个布局为outletLeaderboard 的按钮。 我想通过代码改变他的文字大小,所以这是我写的:

outletLeaderboard.font =  UIFont(name: outletLeaderboard.font.fontName, size: 37)

然后我得到一个错误:

'font' 不可用:从 iOS 7 及更早版本开始弃用的 API 是 在 Swift 中不可用

我需要写的正确的行是什么?

【问题讨论】:

    标签: ios iphone xcode swift ipad


    【解决方案1】:

    使用titleLabel 而不是.font

    outletLeaderboard.titleLabel!.font =  UIFont(name: "HelveticaNeue-Thin", size: 20)
    

    【讨论】:

    • 我的字体名称是装扮的:Helvetica Neue Thin。代码行怎么写?
    【解决方案2】:

    试试

    outletLeaderboard.titleLabel?.font = UIFont(name: outletLeaderboard.font.fontName, size: 37)
    

    【讨论】:

    • 我仍然得到那个错误:'font' is available: APIs deprecated as of iOS 7 and early in Swift
    【解决方案3】:

    只需访问按钮的标题标签。例如:

    button.titleLabel?.font = UIFont(name: "Arial-MT", size: 15)
    

    【讨论】:

    • 如果我的字体名称被修饰了怎么办:Helvetica Neue Thin。代码行怎么写?
    • 你的 Button 已经有了这个装扮字体?然后尝试:` button.titleLabel?.font = UIFont(descriptor:(button.titleLabel?.font.fontDescriptor())!, size: 15) `
    【解决方案4】:

    使用 Swift 3:

    if let titleLabel = outletLeaderboard.titleLabel {
        titleLabel.font = UIFont(name: titleLabel.font.fontName, size: 16)
    }
    

    甚至更好的扩展:

    extension UIButton {
        func set(fontSize: CGFloat) {
            if let titleLabel = titleLabel {
                 titleLabel.font = UIFont(name: titleLabel.font.fontName, size: fontSize)
            }
        }
    }
    

    【讨论】:

      【解决方案5】:

      当你定义了 outletLeaderboard 后,确保它是 UIButton 类型的。

      var outletLeaderboard : UIButton = UIButton()
      outletLeaderboard.titleLabel!.font = UIFont(name: "Consolas", size: 30)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-29
        • 2017-06-08
        • 2020-05-13
        • 1970-01-01
        • 1970-01-01
        • 2017-03-09
        • 2018-02-14
        • 1970-01-01
        相关资源
        最近更新 更多