警告:leading or trailing horizontal alignment before iOS 11
在 Xcode 9.1 上编译时,我在情节提要文件中的一个场景中遇到了警告。还有其他情节提要(部署目标为 iOS 10.0),但警告显示在特定情节提要文件上的特定场景中。
如果我在显示警告的场景中将部署目标更改为 iOS 11.0,则警告会被抑制,但我不想这样做。
有没有人遇到过这种情况?
警告:leading or trailing horizontal alignment before iOS 11
在 Xcode 9.1 上编译时,我在情节提要文件中的一个场景中遇到了警告。还有其他情节提要(部署目标为 iOS 10.0),但警告显示在特定情节提要文件上的特定场景中。
如果我在显示警告的场景中将部署目标更改为 iOS 11.0,则警告会被抑制,但我不想这样做。
有没有人遇到过这种情况?
第1步:
第2步:
替换以下所有实例:
contentHorizontalAlignment="leading"
和:
contentHorizontalAlignment="left"
第 3 步:
替换以下所有实例:
contentHorizontalAlignment="trailing"
和:
contentHorizontalAlignment="right"
第4步:
编译并观察警告消失。
当您有大量需要修改的元素时,我发现这种方法更容易。iOS 11 引入了作为“contentHorizontalAlignment”值类型的“leading”和“trailing”。iOS 10 不知道“leading”和“trailing”,这是警告的原因。
在构建日志中,就在“警告”一词之前,您将看到“xxx-yy-zzz”形式的 Interface Builder 标识符。将其复制并粘贴到 Xcode 搜索栏中,它会为您找到“有问题的”控件。单击搜索结果,它将带您直接进入情节提要并选择相应的控件。其余的问题可以使用其他答案来解决。
我遇到了一大堆按钮的问题,我需要左对齐并有一点偏移。我删除了故事板对齐,并在 viewDidLoad 中使用一组需要的按钮进行了这样的操作。
func indentButtons(buttons: [UIButton?]){
for i in 0..<buttons.count{
buttons[i]!.contentHorizontalAlignment = .left
buttons[i]!.titleEdgeInsets = UIEdgeInsetsMake(0, 5, 0, 0)
}
}