如何以编程方式更改紧凑尺寸等级?

时间:2018-08-11 11:44:09

标签: swift size-classes

我在标签上为紧凑型和常规型都添加了size classes

enter image description here

compact影响所有iPhone设备,但并非所有iPhone屏幕尺寸都相等,因此我希望进行更精细的控制,并进一步缩小iPhone 5 / SE的尺寸。 / p>

我还没有找到一种正式的方式,所以我认为我直接在代码中做到了。

有一个DeviceKit吊舱可以帮助查找iPhone类型:

import DeviceKit

override func viewDidLoad() {
    super.viewDidLoad()
    let groupOfAllowedDevices: [Device] = [.iPhoneSE, .iPhone5s, .iPhone5, .iPhone5c, .simulator(.iPhoneSE), .simulator(.iPhone5s), .simulator(.iPhone5), .simulator(.iPhone5c)]
    let device = Device()
    if device.isOneOf(groupOfAllowedDevices) {
        myLabel.font = UIFont.boldSystemFont(ofSize: 10.0)
    }
}

但是,这不起作用。仅当我在IB中删除了两个大小类时,这才起作用。

有没有办法处理特定标签的紧凑尺寸类别? 这样,我可以为除iPhone SE / iPhone 5之外的所有设备保留默认的紧凑尺寸,而仅在给定的两个设备上进一步减小它的尺寸。

如果有更好的方法,我很高兴知道。谢谢

0 个答案:

没有答案