代码之家  ›  专栏  ›  技术社区  ›  narb

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

  •  0
  • narb  · 技术社区  · 7 年前

    我认为没有一种机制可以根据屏幕大小定义按钮的字体? 下面是滑动菜单问题的示例。iPhone 7优先: enter image description here

    对于SE:

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

    4 回复  |  直到 7 年前
        1
  •  1
  •   Bilal Awan    7 年前

    可以使用大小类。

    1. 单击属性检查器中字体附近的+键。
    2. 选择常规(&N);IPAD常规款
    3. 或者为Iphone选择紧凑的宽度和规则的高度。
    4. 或者您可以简单地通过编程实现
        2
  •  0
  •   Bilal Awan    7 年前
    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)
    }
    
        3
  •  0
  •   Taimoor Suleman    7 年前

    我正在使用设备吊舱检查设备。 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")
            }
    
        4
  •  0
  •   dahiya_boy    7 年前

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

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

    输出:

    enter image description here