Blu*_*ngs 19 ios xcode-storyboard xcode6 ios8
如何使用尺寸类别唯一识别iPhone 6和iPhone 6以及纵向屏幕?
我的应用程序在iPhone 4和iPhone 5中看起来不错,但由于屏幕尺寸的原因,iPhone 6和6中的空白空间相同.虽然使用自动布局我不能仅为iPhone 6和6加上单独增加字体大小或视图大小.我知道我们可以使用大小类来改变字体大小和视图大小.但在我的情况下,不知道该怎么做.
使用xCode 6.1和我的应用程序支持从iOS 7到最新的iOS 8.1.我希望只在故事板中使用解决方案,因为我在故事板中完全完成了我的UI设计.如果storyboard的功能有限以满足我的需求,请告诉我如何通过应用程序实现相同的代码?
小智 24
根据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
}
}
}
Run Code Online (Sandbox Code Playgroud)
要确定当前型号名称,请参阅以下答案:https://stackoverflow.com/a/26962452/4165128
在故事板上,选择要调整的标签,打开右窗格,选择标识检查器,然后将"adjustFontToRealIPhoneSize"属性添加到用户定义的运行时属性列表中(类型为"布尔"并选中复选框).
对您想要调整的每个标签执行相同操作(复制和粘贴令人惊讶地在这里工作).
| 归档时间: |
|
| 查看次数: |
13724 次 |
| 最近记录: |