过去,当我使用 Xcode 6.4 时,我已经能够根据设备大小调整字体大小等内容。这适用于针对 iOS 7 的应用程序。现在对于 Xcode 7 和 Swift 2,它只允许在 iOS 8 和更新版本中使用。它提示我用 3 个不同的选项修复它。我无法让任何选择起作用。有没有办法使用 Swift 2 为旧的 iOS 7 设备调整 Xcode 7 中不同设备的内容?
在 Xcode 6.4 中,我的viewDidLoad()
:
if UIScreen.mainScreen().nativeBounds.height == 1334.0 {
//Name Details
redLabel.font = UIFont (name: "Arial", size: 13)
yellowLabel.font = UIFont (name: "Arial", size: 13)
greenLabel.font = UIFont (name: "Arial", size: 13)
blueLabel.font = UIFont (name: "Arial", size: 13)
}
在 Xcode 7 和 Swift 2 中,它给了我一个 alert 'nativeBounds' is only available on iOS 8.0 or newer
。然后它会提示使用 3 种不同的可能修复来修复它:
1)如果我选择Fix-it Add 'if available' version check
它这样做:
if #available(iOS 8.0, *) {
if UIScreen.mainScreen().nativeBounds.height == 1136.0 {
//Name Details
redKid.font = UIFont (name: "Arial", size: 13)
yellowKid.font = UIFont (name: "Arial", size: 13)
greenKid.font = UIFont (name: "Arial", size: 13)
blueKid.font = UIFont (name: "Arial", size: 13)
}
} else {
// Fallback on earlier versions
}
2)如果我选择Fix-it Add @available attribute to enclosing instance method
它这样做:
@available(iOS 8.0, *)
override func viewDidLoad()
3)如果我选择Fix-it Add @available attribute to enclosing class
它这样做:
@available(iOS 8.0, *)
class ViewController: UIViewController {
我该如何解决这个问题并让它运行 iOS7 的目标并针对不同的设备屏幕尺寸进行调整?谢谢你。