xcode 如何根据屏幕大小定义按钮的字体

How to define the button's font based on the screen size in xcode

我不认为有一种机制可以根据屏幕尺寸定义按钮的字体? 以下是滑动菜单问题的示例。 iPhone 7 第一:

和 SE:

所以我需要获取设备型号并计算要以编程方式应用的字体?

您可以使用尺寸 类。

  1. 在属性检查器中单击字体附近的 +。
  2. 为IPAD选择正则和正则
  3. 或为 Iphone 选择紧凑宽度和常规高度。
  4. 或者您可以简单地以编程方式完成

对于您使用以下代码的按钮

btn.titleLabel?.numberOfLines = 1
btn.titleLabel?.adjustsFontSizeToFitWidth = true
btn.titleLabel?.lineBreakMode = .byClipping 

输出:

if UIScreen.mainScreen().bounds.size.height == 480 {
    // iPhone 4
    mybutton.titleLabel.font = mybutton.titleLabel.font.fontWithSize(20)
} else if UIScreen.mainScreen().bounds.size.height == 568 {
    // IPhone 5
    mybutton.titleLabel.fontt = mybutton.titleLabel.font.fontWithSize(20)
} else if UIScreen.mainScreen().bounds.size.width == 375 {
    // iPhone 6
    mybutton.titleLabel.font = mybutton.titleLabel.font.fontWithSize(20)
} else if UIScreen.mainScreen().bounds.size.width == 414 {
    // iPhone 6+
    mybutton.titleLabel.font = mybutton.titleLabel.font.fontWithSize(20)
} else if UIScreen.mainScreen().bounds.size.width == 768 {
    // iPad
    mybutton.titleLabel.font = mybutton.titleLabel.font.fontWithSize(20)
}

我正在使用 Device Pod 检查设备。 https://github.com/Ekhoo/Device 之后

 switch Device.size() {

        case .screen3_5Inch:

       myButton.titleLabel?.font =  UIFont(name: YourfontName, size: 20)
        case .screen4Inch:
            myButton.titleLabel?.font =  UIFont(name: YourfontName, size: 22))
        case .screen4_7Inch:
            myButton.titleLabel?.font =  UIFont(name: YourfontName, size: 23)
        case .screen5_5Inch:
            myButton.titleLabel?.font =  UIFont(name: YourfontName, size: 25)
        case .screen5_8Inch:
            myButton.titleLabel?.font =  UIFont(name: YourfontName, size: 28)
        default:
            print("Unknown size")
        }