自动布局、大小 类 和字体大小
Autolayout, size classes and font size
我目前正在使用以下软件:Swift (1.2)、Xcode (6.3) 和 iOS 8.3.
我目前有一个应用程序看起来类似于我为这个问题制作的示例:
对于每个 UIButton / UILabel,我想根据使用的设备配置它们的字体大小(例如 iPhone 4s 到 iPhone 6 Plus)。
如您所见,我尝试使用 "text-displaying control" 来添加一个大字体 (44) 和另一个小字体 (33)。对于第二个,设置为 "Width: Compact ; Height: Any".
以下是我目前的结果:
不过,如你所见,iPhone6 Plus上的字体还是那个小。我试图更改 "Width: Compact ; Height: Regular" 和系统字体的设置(小字体);但结果是一样的:(
我怎么会有这样的东西(iPhone 6 Plus 大字体)?
有没有办法:
- 直接在故事板中使用 AutoLayout 定位特定设备?
- 使用一些技巧让它看起来很棒(可能有限制和最小字体比例)?
- 在情节提要之外进行(通过代码)?唯一的解决办法是检查
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)
}
}
我目前正在使用以下软件:Swift (1.2)、Xcode (6.3) 和 iOS 8.3.
我目前有一个应用程序看起来类似于我为这个问题制作的示例:
对于每个 UIButton / UILabel,我想根据使用的设备配置它们的字体大小(例如 iPhone 4s 到 iPhone 6 Plus)。
如您所见,我尝试使用 "text-displaying control" 来添加一个大字体 (44) 和另一个小字体 (33)。对于第二个,设置为 "Width: Compact ; Height: Any".
以下是我目前的结果:
不过,如你所见,iPhone6 Plus上的字体还是那个小。我试图更改 "Width: Compact ; Height: Regular" 和系统字体的设置(小字体);但结果是一样的:(
我怎么会有这样的东西(iPhone 6 Plus 大字体)?
有没有办法:
- 直接在故事板中使用 AutoLayout 定位特定设备?
- 使用一些技巧让它看起来很棒(可能有限制和最小字体比例)?
- 在情节提要之外进行(通过代码)?唯一的解决办法是检查
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)
}
}