当我试图实现
我想对所有普通高地垂直排列的高度相等的两个视图来修复丢失/冲突的约束为温妮HANY。但是,对于Compact Heights,我希望水平排列视图。这是如下图所示:如何使用不同尺寸的类
要做到这一点,我在适用于一切温妮 - 哈尼尺寸级别添加一般的约束。然后我为wAny-hRegular和wAny-hCompact大小类添加了特定约束。这对wAny-hRegular和wAny-hCompact(以及用于在模拟器中测试应用程序)的工作正常,但它在wAny-hAny中留下了缺少约束条件。如果我在wAny-hAny中添加这些缺失的约束,那么我会在wAny-hRegular或wAny-hCompact中得到冲突约束。我不知道如何摆脱错误。
下面是对我所做的更详细的解释。
我如何试图做到这一点
我能得到的东西,通过执行以下步骤在模拟器中工作。
温妮HANY
对于任何宽度任何高度我设置了以下4个约束:
也就是说,我寄托蓝色顶部和左,我把红色固定在右边和底部。无论使用什么尺寸的类,总是需要这些约束。
温妮hRegular
对于任何宽度常规高度我增加了以下4个约束:
也就是说,我寄托蓝色的权利和红色左边。我还将红色的上边缘固定在蓝色的底边。我做了红蓝相等的高度。这解决了常规高度的所有约束问题。
温妮hCompact
对于任何宽度紧凑高度I增加了以下4个约束:
即,我钉扎蓝色至底部和红色到顶端。我也把红色的右边缘固定在蓝色的左边缘。我做了红色和蓝色的等宽。这需要处理紧凑高度的所有约束问题。
的问题
通过以上的设置一切正常,因为它应该在故事板预览(见上第一图像),并在模拟器,我测试了所有尺寸。
然而,在界面生成器,我得到以下缺失约束错误的温妮HANY尺寸级别:
这是一个有点左右为难,因为如果我尝试添加缺少的约束然后我创建冲突的规则或紧凑尺寸类约束。下面是紧凑型为例:
我该如何解决这个问题?
你说得对。我只需要在AnyAny中设置所有约束,然后在AnyCompact中添加特殊约束。之后,我卸载AnyCompact中冲突的约束。为了卸载约束,我必须更多地学习@ AkshaySunderwani的答案(即文档)。我不能只是取消选择“安装”,因为它会为每个大小类别卸载它。我必须在约束检查器中添加特定的大小类(AnyCompact),然后将其卸载。 – Suragch