【问题标题】:Set different font size to UIButton for different devices为不同的设备为 UIButton 设置不同的字体大小
【发布时间】:2017-09-15 14:28:35
【问题描述】:

我有一个叫做登录的按钮。当我看到按钮的字体大小时,它在所有设备中看起来都一样,尽管按钮的宽度和高度有所不同。如何为不同的设备定义不同的字体大小?我说的只是 iPhone 肖像。所以不要将解决方案作为尺寸等级。

【问题讨论】:

标签: ios uibutton font-size ios-autolayout


【解决方案1】:

您可以使用字体大小变化 - 在 Storyboard 中定义字体大小,请看下图,它显示了如何定义字体大小。

点击字体属性旁边的+小按钮,会出现一个弹出窗口。

如上图所示,您可以为WidthHeight 定义不同的大小。

【讨论】:

    【解决方案2】:

    您可以检查 iPhone 设备大小,然后在 if-else 循环中应用您的按钮字体大小逻辑。

    #define iPhoneVersion ([[UIScreen mainScreen] bounds].size.height == 568 ? 5 : ([[UIScreen mainScreen] bounds].size.height == 480 ? 4 : ([[UIScreen mainScreen] bounds].size.height == 667 ? 6 : ([[UIScreen mainScreen] bounds].size.height == 736 ? 7 : ([[UIScreen mainScreen] bounds].size.height == 736 ? 61 : ([[UIScreen mainScreen] bounds].size.height == 736 ? 61   : (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad ? 10 :61 )))))))
    
    if (iPhoneVersion == 4)
    {
        mybutton.titleLabel.font = [UIFont systemFontOfSize:12];
    }
    else if (iPhoneVersion == 5)
    {
        mybutton.titleLabel.font = [UIFont systemFontOfSize:14]; 
    }
    else if (iPhoneVersion == 6)
    {
        mybutton.titleLabel.font = [UIFont systemFontOfSize:16]; 
    }
    else if (iPhoneVersion == 7)
    {
        mybutton.titleLabel.font = [UIFont systemFontOfSize:17]; 
    }
    

    同样适用于所有设备。

    【讨论】:

      【解决方案3】:

      试试这个

      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)
      }
      

      【讨论】:

        猜你喜欢
        • 2018-08-24
        • 2017-08-24
        • 2016-09-19
        • 2015-10-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多