【问题标题】:change font of the label without changing the size更改标签的字体而不更改大小
【发布时间】:2015-10-27 17:01:43
【问题描述】:

嘿,我想更改标签的字体而不更改大小,因为我对不同的设备有不同的大小 请参阅下面的代码:-

此代码有效,但正如我所说,我不想更改大小

QuotesLabel.font = UIFont(name: "optima", size: CGFloat(30)

这里是不同设备不同尺寸的代码

 if UIScreen.mainScreen().bounds.size.height == 480 {
        // iPhone 4
        QuotesLabel.font = QuotesLabel.font.fontWithSize(30)
    } else if UIScreen.mainScreen().bounds.size.height == 568 {
        // IPhone 5
        QuotesLabel.font = QuotesLabel.font.fontWithSize(30)
    } else if UIScreen.mainScreen().bounds.size.width == 375 {
        // iPhone 6
       QuotesLabel.font = QuotesLabel.font.fontWithSize(35)
    } else if UIScreen.mainScreen().bounds.size.width == 414 {
        // iPhone 6+
        QuotesLabel.font = QuotesLabel.font.fontWithSize(40)

    }

【问题讨论】:

  • 如果 QuotesLabel 不是一个类,它应该以小写的 'quotesLabel' 开头。

标签: ios xcode swift uifont


【解决方案1】:

使用这个 UIFont 扩展:

extension UIFont{
  func fontWithName(name:String)->UIFont{
    return UIFont(name: name, size: self.pointSize)!
  }

然后像这样使用它:

QuotesLabel.font = QuotesLabel.font.fontWithName("Verdana"

更新:来自数组的随机字体

定义一个你想要的字体数组:

let fonts = ["Verdana", "HoeflerText-Black", "Menlo-BoldItalic"]

这个函数会返回随机字体:

func getRandomFont()->UIFont{
    let int = Int(arc4random_uniform(UInt32(fonts.count)))
    let font = UIFont(name: fonts[int], size: 30)
    return font
  }

On button 点击​​动作调用随机函数并更改 TextField 字体:

 @IBAction func testTapped(sender: UIButton) {
    QuotesLabel.font = getRandomFont()
  }

【讨论】:

  • 尺寸应该和你告诉我的一样
  • 是的,因为 getRandomFont() 返回 UIFont,它会起作用
【解决方案2】:

您可以通过这种方式分配自己的字体大小:

QuotesLabel.font = UIFont(name: "optima", size: QuotesLabel.font.pointSize)

更新:

您可以通过这种方式创建和使用字体数组:

let fontArr = ["helvetica", "optima", "arial"]   //Change this array as per your need
let int = Int(arc4random_uniform(UInt32(fontArr.count)))
QuotesLabel.font = UIFont(name: fontArr[int], size: QuotesLabel.font.pointSize)

【讨论】:

  • 非常感谢,还有一件事,我们还可以制作一个字体数组,以在每次用户点击按钮时显示不同/随机字体。
  • 只给我看三种字体的示例,例如 helvetica,optima,arial rounded mt bold
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-04
  • 2017-08-05
  • 2022-09-28
  • 2016-04-25
  • 1970-01-01
  • 1970-01-01
  • 2019-09-06
相关资源
最近更新 更多