我在相同尺寸的屏幕上有两个视图。我将一个视图限制在另一个视图的顶部,但它不起作用。
我可以查看界面构建器上的约束以及显示x位置匹配的行:
然后如图所示,当我选择backview.centreX = frontview.centre.X时,约束线显示在同一个地方:
因此,我可以看到后视中心x位置应该被限制为与前视图中心X位置相同。
然而,后视图X最终处于一个完全不同的位置(请参阅我打印每个CGFloat位置字符串的日志):
BackView X Position is = 642.0
BackView Y Position is = 270.0
FrontView X Position is = 220.0
frontView Y Position is = 270.0
我想也许这是我打印出的代码但是没问题(见下文):
覆盖func viewDidLoad(){ super.viewDidLoad()
backViewXStartPosition = backview.center.x
backViewYStartPosition = backview.center.y
frontViewXStartPosition = frontview.center.x
frontViewYStartPosition = frontview.center.y
backViewXStartPositionString = String (backViewXStartPosition)
backViewYStartPositionString = String (backViewYStartPosition)
frontViewXStartPositionString = String (frontViewXStartPosition)
frontViewYStartPositionString = String (frontViewYStartPosition)
print ("BackView X Position is = "+backViewXStartPositionString )
print ("BackView Y Position is = "+backViewYStartPositionString )
print ("FrontView X Position is = "+frontViewXStartPositionString )
print ("frontView Y Position is = "+frontViewYStartPositionString )
我还检查了backview上的其他约束,认为它们可以覆盖但我也找不到任何东西。对于一个不受约束的水平中心不工作是否正常?
感谢您的帮助
答案 0 :(得分:0)
检查您的backview的前导或尾随约束(如果存在可能是冲突的
)