iOS: 如何根据屏幕变化更改标签对齐方式

iOS: how to change a label alignment based on screen variation

在 IB 中,无法在标签的对齐 属性 上添加变体。 我的需求是当宽度紧凑时将文本对齐左侧,当宽度正常时居中对齐。

我该怎么办?

谢谢

if(width >= yourDesiredWidth){ 
    yourLabel.textAligment = UITextAligment.center
}
else{
    yourLabel.textAligment = UITextAligment.left
}

您可以将此行为添加到

中的网点
override func willTransition(to newCollection: UITraitCollection, with coordinator: UIViewControllerTransitionCoordinator) {
super.willTransition(to: newCollection, with: coordinator)
switch newCollection.verticalSizeClass {
        case .compact:
            yourLabel.textAligment = UITextAligment.left
        case .regular, .unspecified:
            yourLabel.textAligment = UITextAligment.center
        }
 }

要确定旋转,请使用 verticalSizeClass,要确定设备类型(例如 iPad 或 iPhone),请使用 horizo​​ntalSizeClass。