我正在尝试在Swift 3 tableView
中添加子视图。我希望前导锚点与我的父视图(modalView.leadingAnchor.constraint(equalTo:margins.widthAnchor, constant: 0.05).isActive = true
)的宽度0.05 x相关。
当我写下以下内容时:
Cannot convert value of type 'NSLayoutDimension' to expected argument type 'NSLayoutAnchor<NSLayoutXAxisAnchor>'
我得到了
NSLayoutAnchor
如何使用{{1}}创建所需的主要约束?
答案 0 :(得分:1)
我刚才有类似的问题。 我得到了:
无法将'NSLayout Y AxisAnchor'类型的值转换为预期参数类型'NSLayoutAnchor&lt; \ NSLayout X AxisAnchor&gt;'
X和Y是两个不同的轴
如果你做了一些与'顶部和底部'相关的事情,那么你想要相互约束的东西都应该属于同一个AXIS!意思是你不能约束'从左到上'!你不能约束'从下到左'。它们必须平行!
你的情况不同,但根本原因仍然是一样的。那就是你不能说“将元素的 size 约束到 point ”。为什么?因为你需要两个点来约束某些东西的大小到两点之间的距离
。同样,您不能将宽度约束到轴。宽度可以用另一个维度约束,即它可以被约束到高度或宽度或深度,或者仅限于特定值,如20.0
答案 1 :(得分:0)
尝试使用以下代码:
modalView.leadingAnchor.constraint(equalTo:margins.widthAnchor as! NSLayoutAnchor<NSLayoutXAxisAnchor>, constant: 0.05).isActive = true