iOS 11 之前的前导或尾随水平对齐
leading or trailing horizontal alignment before iOS 11
警告:leading or trailing horizontal alignment before iOS 11
我在 Xcode 9.1 上编译期间在情节提要文件中的一个场景中收到以上警告。还有其他情节提要 (部署目标 iOS 10.0) 但警告显示在特定情节提要文件的特定场景中。
如果我在显示警告的场景中将部署目标更改为 iOS 11.0,但我不想那样做,警告就会被抑制。
有人遇到过这种情况吗?
对我来说,问题在于在 UIButton
本身上使用 trailing
leading
对齐方式。
安全区域似乎完全可以使用 - 它向后兼容并且可以转换为适当的超级视图边距。
但此功能仅限 iOS 11,因此如果您的目标是较低的 iOS 版本,请改用标准左/右对齐。
找出导致问题的视图的最简单方法是在 .xib
的源代码中搜索 contentHorizontalAlignment="leading"
或 contentHorizontalAlignment="trailing"
第 1 步:
以源代码形式查看您的违规情节提要:
第 2 步:
替换所有实例:
contentHorizontalAlignment="leading"
与:
contentHorizontalAlignment="left"
第 3 步:
替换所有实例:
contentHorizontalAlignment="trailing"
与:
contentHorizontalAlignment="right"
第 4 步:
编译并观察警告消失。
当您有大量需要修改的元素时,我发现这种方法更容易。
"leading" 和 "trailing" 作为 'contentHorizontalAlignment' 值类型是在 iOS 11 中引入的。iOS 10 不知道 "leading" 和 "trailing" 这就是警告的原因。
在构建日志中,就在单词 "warning" 之前,您将看到一个 Interface Builder 标识符,格式为 "xxx-yy-zzz"。将其复制并粘贴到 Xcode 搜索栏中,它会为您找到 "offending" 控件。单击搜索结果,您将直接进入故事板并选择了相应的控件。其余问题可以使用其他答案解决。
我遇到了一大堆按钮的问题,我需要将它们左对齐并稍作偏移。我删除了故事板对齐方式,并在 viewDidLoad 中使用一组需要的按钮来完成它。
func indentButtons(buttons: [UIButton?]){
for i in 0..<buttons.count{
buttons[i]!.contentHorizontalAlignment = .left
buttons[i]!.titleEdgeInsets = UIEdgeInsetsMake(0, 5, 0, 0)
}
}
警告:leading or trailing horizontal alignment before iOS 11
我在 Xcode 9.1 上编译期间在情节提要文件中的一个场景中收到以上警告。还有其他情节提要 (部署目标 iOS 10.0) 但警告显示在特定情节提要文件的特定场景中。
如果我在显示警告的场景中将部署目标更改为 iOS 11.0,但我不想那样做,警告就会被抑制。
有人遇到过这种情况吗?
对我来说,问题在于在 UIButton
本身上使用 trailing
leading
对齐方式。
安全区域似乎完全可以使用 - 它向后兼容并且可以转换为适当的超级视图边距。
但此功能仅限 iOS 11,因此如果您的目标是较低的 iOS 版本,请改用标准左/右对齐。
找出导致问题的视图的最简单方法是在 .xib
的源代码中搜索contentHorizontalAlignment="leading"
或 contentHorizontalAlignment="trailing"
第 1 步:
以源代码形式查看您的违规情节提要:
第 2 步:
替换所有实例:
contentHorizontalAlignment="leading"
与:
contentHorizontalAlignment="left"
第 3 步:
替换所有实例:
contentHorizontalAlignment="trailing"
与:
contentHorizontalAlignment="right"
第 4 步:
编译并观察警告消失。
当您有大量需要修改的元素时,我发现这种方法更容易。 "leading" 和 "trailing" 作为 'contentHorizontalAlignment' 值类型是在 iOS 11 中引入的。iOS 10 不知道 "leading" 和 "trailing" 这就是警告的原因。
在构建日志中,就在单词 "warning" 之前,您将看到一个 Interface Builder 标识符,格式为 "xxx-yy-zzz"。将其复制并粘贴到 Xcode 搜索栏中,它会为您找到 "offending" 控件。单击搜索结果,您将直接进入故事板并选择了相应的控件。其余问题可以使用其他答案解决。
我遇到了一大堆按钮的问题,我需要将它们左对齐并稍作偏移。我删除了故事板对齐方式,并在 viewDidLoad 中使用一组需要的按钮来完成它。
func indentButtons(buttons: [UIButton?]){
for i in 0..<buttons.count{
buttons[i]!.contentHorizontalAlignment = .left
buttons[i]!.titleEdgeInsets = UIEdgeInsetsMake(0, 5, 0, 0)
}
}