如何使用不同的Apple产品屏幕缩放文本标签?

时间:2016-02-26 05:25:12

标签: ios swift ipad fonts label

这是用于快速的ios dev。我有一个非常简单的布局:

link1(没有足够的代表实际发布图片)

我所要做的就是确保"结果"标签按比例缩放到每个不同屏幕尺寸的大致相同比例。如下所示,3.5屏幕和iPad屏幕之间的差异非常明显:

link2

所以我想让iPad屏幕上的标签大到足以占用与3.5屏幕相同的空间百分比,包括垂直和水平。我该怎么做呢?我已经完成了其他几个教程/解决方案,但它们都教会了一些不同的东西,比如如何更改标签大小,而不是字体大小。我尝试添加宽高比约束,但只在不改变字体大小的情况下移动它。添加高度/宽度约束也只会更改标签大小而不使用字体大小。

2 个答案:

答案 0 :(得分:6)

HIEN,

这是关于检测设备/屏幕尺寸的超级帖子。

How to detect iPhone 5 (widescreen devices)?

这是我最喜欢的建议,请点击它并感谢真正的作者!

添加新的Swift文件' - > AppDelegateEx.swift

为AppDelegate添加扩展程序

import UIKit
extension AppDelegate {
    class func isIPhone5 () -> Bool{
         return max(UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height) == 568.0
    }
    class func isIPhone6 () -> Bool {
        return max(UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height) == 667.0
    }
    class func isIPhone6Plus () -> Bool {
        return max(UIScreen.mainScreen().bounds.width,     UIScreen.mainScreen().bounds.height) == 736.0
    }  
}

用法:

if AppDelegate.isIPhone5() {
    collectionViewTopConstraint.constant = 2
}else if AppDelegate.isIPhone6() {
    collectionViewTopConstraint.constant = 20
}

将它与在应用程序中设置字体相结合,你现在肯定必须这样做吗?

variable.font = UIFont(name: "Palatino", size: 24)

答案 1 :(得分:5)

您可以在故事板中实际执行此操作。

1,在故事板上打开文件检查器标签(第一个标签),同时设置Use auto layoutUse size classes

2,然后你可以转到你的标签属性(Forth标签),你会发现旁边有一个“+”,点击它添加。

3,选择您想要的屏幕尺寸,可以参考"Adaptivity and Layout"然后选择您的字体大小。

答案参考THIS LINK,你也可以看看