我正在开发一个 iOS 应用程序,我观察到 iPhone 5、6、6+ 中的 UI 所有字体因设备而异,但我的要求是 iPhone4s、5 的按钮大小和字体大小必须相同,而 iPhone 6 和6+。我怎样才能在我的应用程序中实现这一点。我知道我们可以通过编程来完成,但是有没有机会在情节提要上使用自适应布局。
我正在使用 xcode7.2,swift2。
提前致谢..
我正在开发一个 iOS 应用程序,我观察到 iPhone 5、6、6+ 中的 UI 所有字体因设备而异,但我的要求是 iPhone4s、5 的按钮大小和字体大小必须相同,而 iPhone 6 和6+。我怎样才能在我的应用程序中实现这一点。我知道我们可以通过编程来完成,但是有没有机会在情节提要上使用自适应布局。
我正在使用 xcode7.2,swift2。
提前致谢..
我遇到了同样的问题并使用 Swifts Computed Properties解决了它。我创建了一个静态变量字体大小,由于屏幕的大小,它会使用适当的字体大小动态初始化。
import UIKit
class ViewFunctions {
let screenSize = UIScreen.mainScreen().bounds.size
static var fontsize: CGFloat {
get {
if screenSize.height >= 1024 { // iPad Pro
return 16.0
} else if screenSize.height >= 768 { // iPad
return 16.0
} else if screenSize.height >= 414 { // iPhone 6Plus
return 15.0
} else if screenSize.height >= 375 { // iPhone 6/s
return 15.0
} else if screenSize.height >= 320 { // iPhone 5/s
return 14.0
} else if screenSize.height >= 319 { // iPhone 4/s
return 14.0
} else {
return 14.0
}
}
}
}
然后使用它来设置按钮标签的字体大小:
import UIKit
class TestClass {
var testButton: UIButton = UIButton(type: UIButtonType.System) as UIButton!
testButton.titleLabel!.font = UIFont(name: "Helvetica Neue", size: ViewFunctions.fontsize)
testButton.setTitle("Test", forState: .Normal)
// add button to view or sth like that...
}