2015-09-27 40 views
1

XCode 7为什么这种约束的组合不明确?

你知道为什么这被认为是模棱两可吗? 我定义我希望它水平和垂直居中......在这里没有什么值得怀疑的......然后我定义了我想要它在水平和垂直方向上达到650点或更大......那么为什么模棱两可呢?

Ambiguous

**编辑** 我下了基于以下评论一些更多的图像。 请注意,模糊似乎已解决,但屏幕上没有输出,应该用地图视图边缘到边缘地填充。

Pinned1

Pinned2

+1

居中,700点宽满足您的约束?居中,800点宽还能满足你的约束吗?是的,是的。由于存在多个(实际上是无限多的)解决方案,所以它是不明确的。 –

+0

@KenThomases - 我看到你的观点肯,但不是动态接口的整体概念,以避免在可能的情况下给出一个固定的大小?通过说我想要'不小于650',那么从某种意义上讲,我已经给它一个严格的条件,所以我仍然很困惑如何让控件在调整大小时具有一定的灵活性,而不会在过程中引入歧义。 –

+0

您通常不会指定固定大小,但您需要为自动布局系统指定足够的约束以确定视图的大小。有自动布局系统的输入是动态的,但来自外部。一个明显的例子是窗户的大小。另一个是固有尺寸,例如给定某种字体的标签中的文本。其他一切将直接或间接地与这些投入相关。 –

回答

1

您选择的大于或等于一个不等式约束。由于尺寸可能会发生变化(大于650的高度或宽度),因此它被认为是不明确的。如果您将其设置为650,则不应再将其视为模棱两可。

+1

嗯,我发现自己处在一个奇怪的困境中,这个自动布局的东西,因为当我将所有的双方都绑定到超级视图而不是或者除了650约束之外,我的视图要么完全消失,要么离开屏幕的一部分。我不知道我是否使用古老的第三方控件(ESRI的ArcGis Map View)会与它有什么关系,但对于我而言,我无法让这个地图控件将自己固定到所有四个控件它的超级景观的边缘。 –

+0

您可以尝试在运行时通过代码设置控件的框架?您也可以不设置对齐约束,并将所有方向的距离设置为0,从而有效地使其与超视图的大小相匹配。这至少可以消除歧义并确保你的控制是可见的。 – mckeejm

+0

我试过了你的建议,但在那个特定的场景中,我没有输出。我应该有一个视角充满边缘与地图,但没有。 –

相关问题