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),请使用 horizontalSizeClass。
在 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),请使用 horizontalSizeClass。