2016-08-20 52 views
0

我有两个相同大小的屏幕上的意见。我将一个视图限制在另一个视图的顶部,但它不起作用。限制视图之间的水平中心不工作

我可以看看我在界面生成器和显示x位置线约束相匹配:

您可以看到约束线的时候我选择的FrontView中心: enter image description here

然后如你在图片中看到当我拿起backview.centreX = frontview.centre.X约束线显示在同一个地方:

enter image description here

因此,据我所见,后视中心x位置应该被约束为与前视图中心X位置相同。

然而backview 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) 

我也查询其他C对后视的限制认为他们可能会覆盖,但我在那里也找不到任何东西。一个有条件限制的水平中心不工作是否正常?

感谢您的帮助

+0

打印所有的帧值)'或'viewDidLayoutSubviews()',并检查 –

+0

@ EICaptainv2.0谢谢。试图在看来确实出现和同样的事情。 –

回答

0

检查backview的开头或结尾的限制是否存在可能,他们是矛盾的`viewDidAppear(

+0

谢谢,没有使用任何视图的拖尾边距。 –

+0

你能分享你的故事板文件吗? –

+0

我该怎么做? –