出现这个警告通常是因为 Interface Builder 自动添加的布局指南与手动设定的自动布局约束冲突了,可以通过以下步骤解决:
1.选中出现冲突的布局对象。
2.在 Interface Builder 的顶部菜单中选择 Editor -> Resolve Auto Layout Issues -> Clear Constraints。
3.重新添加手动设定的自动布局约束或者修改 Interface Builder 自动生成的布局指南以避免冲突。
示例代码:
//创建一个UILabel并添加自动布局约束
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.text = "Hello World"
view.addSubview(label)
NSLayoutConstraint.activate([
label.centerXAnchor.constraint(equalTo: view.centerXAnchor),
label.centerYAnchor.constraint(equalTo: view.centerYAnchor)
])
//手动添加布局指南
let guide = UILayoutGuide()
view.addLayoutGuide(guide)
guide.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true
guide.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor).isActive = true
guide.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor).isActive = true
guide.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor).isActive = true
在这段示例代码中,手动添加了一个布局指南以协助自动布局,如果在 Interface Builder 中也添加了类似的布局指南,则可能会出现警告'布局指南与自动布局约束冲突”。此时可以按照上述解决方法进行修改。