0

首先的后页边空白宽度变化约束防止查看,我必须提到我已在新项目中重复的约束和一直无法复制的问题。这个问题发生在我一直在努力的复杂故事板项目上。从对准上海华

为了简单起见,这是基本的问题:

我有一个视图控制器内的默认查看内部的容器视图。容器视图对其超级视图的顶部,底部和尾部边缘有约束。在超视图和容器视图之间连接了两个“等宽”约束。一个等于超级观点,另一个与超级观点成正比,在约束中有0.9乘数。

我有一个叠加在容器视图上的按钮,它在2个“相等/比例宽度”之间交替变化(为了简单起见,我目前已经删除了视图控制器中的所有其他对象,试图隔离什么导致问题...

当按钮将“等宽”约束切换到0.9比例宽度约束时,它会将容器视图从尾部边缘(12点)推开,同时它也会缩小10%的容器视图,根据需要。

我一直工作在这几个小时,至今无果......出于绝望,我增加了一个额外的后缘约束上的开关当关闭比例宽度时,用额外的12点补偿移位。默认的追踪(到超视图)约束被设置为-20,因为我将它增加到了-30,-31,-31.5,它越来越接近正确的看,但是当我把它固定在-32时,它又跳了起来,大约12到20点,离开边缘的边缘!我知道这不是一个很好的方法来解决这个问题,但我想提一下,以防万一它可能是一个比我更知道什么是导致问题的线索..线索

谢谢为您提供的任何帮助!

UPDATE:

这个问题似乎是从嵌入容器视图在VC一个冲突所产生的。嵌入式VC的高度是720,而它的容器是720 ...但是即使在我改变这些高度以匹配后,无论哪种方式,我都会遇到同样的问题...

如果我删除,问题似乎消失嵌入式VC,只是使用的容器视图,但因为我需要的嵌入式VC的含量,这是没有办法了......

最后一点,我在的地方按下一个按钮它改变了一个类似的方法嵌入式VC的高度,但没有问题..

回答

0

我解决了!

因此,正如我在更新中所怀疑的那样,问题源于容器视图和嵌入式视图控制器之间的约束不同步。在容器视图中,如上所述,超级视图的后边缘有一个约束,而对于我用按钮切换的宽度有2个约束。嵌入视图控制器的视图对它的超视图有一个主要的约束。一旦我将其删除并将其切换为尾部视图,问题就解决了!获得的经验教训:如果要改变具有多个宽度或高度约束的容器视图,请确保在容器视图和嵌入视图的内容中具有相同的边约束(y轴的顶部或底部,导向或追踪x轴)。

0

我以前遇到类似的约束问题,没有看到故事板,我不能指出确切的原因,但您可以尝试以下操作:

  • 仔细检查你的约束是否连接到你的代码,即使它们不是这些代码将编译和运行,但没有效果。
  • 注意自动布局破坏约束的日志,可能存在另一个约束,使您的视图保持原位,导致新激活的破坏。

如果两者都不是原因,也检查按钮是否调用正确的操作。在任何情况下,如果我的提示根本没有任何帮助,您可能需要提供更多信息或屏幕截图来显示视图,并且这是从我的最后更好地理解您的问题的限制因素。