为不同的设备{U-440设置不同的字体大小

时间:2017-04-19 11:24:23

标签: ios uibutton font-size ios-autolayout

我有一个名为login的按钮。当我看到按钮字体大小时,它在所有设备中看起来都相同,但按钮的宽度和高度会有所不同。如何为不同的设备定义不同的字体大小?我只是谈论iPhone肖像。所以不要给出尺寸等级的解决方案。

3 个答案:

答案 0 :(得分:1)

您可以使用字体大小变化 - 在Storyboard中定义字体大小,在下面的图像中显示如何定义字体大小。

enter image description here

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

如上图所示,您可以针对不同的变体定义WidthHeight的尺寸。

答案 1 :(得分:1)

试试这个

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

答案 2 :(得分:0)

您可以检查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]; 
}

同样适用于所有设备。

相关问题