【发布时间】:2017-09-15 14:28:35
【问题描述】:
我有一个叫做登录的按钮。当我看到按钮的字体大小时,它在所有设备中看起来都一样,尽管按钮的宽度和高度有所不同。如何为不同的设备定义不同的字体大小?我说的只是 iPhone 肖像。所以不要将解决方案作为尺寸等级。
【问题讨论】:
-
您可以为此使用尺寸等级。
标签: ios uibutton font-size ios-autolayout
我有一个叫做登录的按钮。当我看到按钮的字体大小时,它在所有设备中看起来都一样,尽管按钮的宽度和高度有所不同。如何为不同的设备定义不同的字体大小?我说的只是 iPhone 肖像。所以不要将解决方案作为尺寸等级。
【问题讨论】:
标签: ios uibutton font-size ios-autolayout
您可以检查 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];
}
同样适用于所有设备。
【讨论】:
试试这个
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)
}
【讨论】: