如何使用尺寸分类来唯一标识 iPhone 6 和 iPhone 6 plus 纵向屏幕?
我的应用程序在 iPhone 4 和 iPhone 5 上看起来不错,但由于屏幕尺寸的原因,在 iPhone 6 和 6 plus 上看起来一样,但有很多空白区域。虽然我使用的是自动布局,但我无法单独增加 iPhone 6 和 6 plus 的字体大小或 View 大小。我知道我们可以使用大小类更改字体大小和 View 大小。但就我而言,我不知道该怎么做。
我正在使用 xCode 6.1,我的应用程序支持从 iOS 7 到最新的 iOS 8.1。我只在 Storyboard 中期待解决方案,因为我完全在 Storyboard 中进行 UI 设计。如果 Storyboard 的功能有限,无法满足我的需求,请告诉我如何通过应用程序使用代码实现相同的功能?
最佳答案
根据 iPhone 类型调整字体大小的另一个选项是使用“用户定义的运行时属性”。
定义 UILabel 的扩展:
extension UILabel {
var adjustFontToRealIPhoneSize: Bool {
set {
if newValue {
var currentFont = self.font
var sizeScale: CGFloat = 1
let model = UIDevice.CurrentDevice().modelName()
if model == "iPhone 6" {
sizeScale = 1.3
}
else if model == "iPhone 6 Plus" {
sizeScale = 1.5
}
self.font = currentFont.fontWithSize(currentFont.pointSize * sizeScale)
}
}
get {
return false
}
}
}
为了确定当前型号名称,请引用以下答案:https://stackoverflow.com/a/26962452/4165128
在 Storyboard 上,选择您要调整的标签,打开右侧 Pane ,选择身份检查器,然后将“adjustFontToRealIPhoneSize”属性添加到用户定义的运行时属性列表中(类型为“Boolean”并选中复选框) .
对您希望调整的每个标签执行相同的操作(复制和粘贴在这里非常有效)。
关于ios - 用于识别 iPhone 6 和 iPhone 6 plus 竖屏的尺寸等级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27065929/