我目前正在使用以下软件:Swift (1.2)、Xcode (6.3) 和 iOS 8.3。
我目前有一个应用程序看起来类似于我为这个问题制作的这个示例:
对于每个 UIButton/UILabel,我想根据使用的设备(例如 iPhone 4s 到 iPhone 6 Plus)配置它们的字体大小。
如您所见,我尝试使用“文本显示控件”来添加一个大字体 (44) 和另一个较小字体 (33)。对于第二个,设置为“宽度:紧凑;高度:任意”。
以下是我目前的结果:
不过,如你所见,iPhone 6 Plus 上的字体还是那个小。我试图更改“宽度:紧凑;高度:常规”和系统字体的设置(小字体);但结果是一样的:(
我怎么会有这样的东西(大字体的 iPhone 6 Plus)?
有没有办法:
- 直接在 Storyboard中使用 AutoLayout 定位特定设备?
- 使用一些技巧让它看起来很棒(可能有限制和最小字体比例)?
- 在 Storyboard 之外(通过代码)做吗?唯一的解决方案是检查
UIScreen.mainScreen().bounds.size.width
的值 ?
最佳答案
我刚刚用我自己的一个应用经历了这样的事情,并确定了这个解决方案:
// global utility...
var on6plus : Bool {
return UIScreen.mainScreen().traitCollection.displayScale > 2.5
}
// and then, in my view controller's viewDidLoad...
if on6plus {
for lab in [self.scoreLabel, self.prevLabel, self.stageLabel] {
let f = lab.font
lab.font = f.fontWithSize(f.pointSize + 2)
}
}
关于ios - 自动布局、尺寸类别和字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30490606/