Xcode 约束问题

Posted

技术标签:

【中文标题】Xcode 约束问题【英文标题】:Xcode constraint issue 【发布时间】:2015-12-31 12:34:35 【问题描述】:

在这里,我有一个图像在显示视图的上半部分,三个按钮在视图的下半部分间隔开。我无法让所有设备看起来都一样,在较小的设备上,图像与按钮相比相形见绌,4.7 英寸及以上的图像比按钮大得多。

我应该应用哪些自动布局约束以及什么尺寸等级? 这个应用程序是通用的。

【问题讨论】:

您希望图像和三个按钮如何以不同的尺寸布置。如果你告诉我这个,我可以帮你解决这些限制。 @GaneshKamath 我希望图像保持在上半部分,按钮保持在所有尺寸的下半部分。所以屏幕尺寸越大,元素被放大的越多,间距也会相应地变换。 如果您想要按比例调整大小(这样按钮会随着更大的屏幕而放大),而不是将容器视图中的约束“等宽/高度”添加到按钮。然后使用乘数参数。即:宽度使用0.6。为了保持控件之间的距离均匀,在元素之间创建占位符 UIViews 并将它们设置为“等高”并使其隐藏。 【参考方案1】:

你必须使用尺寸等级的概念。 (采用布局) 有关更多详细信息,请访问此 http://www.raywenderlich.com/113768/adaptive-layout-tutorial-in-ios-9-getting-started

【讨论】:

虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review 您必须在对象之间进行约束。还有对象的大小。在该教程中,您可以获得它的正确信息,因此我将与您分享。【参考方案2】:

为每个项目添加以下约束,你应该很高兴:

height
width
top
left
right

【讨论】:

【参考方案3】:

感谢您的意见,但我找到了一个更简单的替代方案。

我在情节提要上放置了两个视图,每个视图占据了一半的空间(一个是蓝色的用于可视化),然后在每个视图上应用明显的约束,并将每个视图视为屏幕的一半。

按钮也需要纵横比。

【讨论】:

酷。我正在做同样的事情,但你在我完成之前回答了。 :P 这对我来说似乎很不合常规。你认为这在 Xcode 老手眼中会被认为是可以接受的吗?毕竟它工作得很好。 非常规,如? 如在没有两个额外视图的情况下可以解决。 我不认为这是非常规的。当我开始使用自动布局时,我什至和你现在的感觉一样,但现在我已经不这么觉得了。额外的两个视图需要根据您的需要进行布局。此外,这两个额外的视图无论如何都不会影响应用程序的性能。

以上是关于Xcode 约束问题的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 约束问题

xcode 11中的滚动视图约束

故事板约束(Xcode)

如何在 Objective C 中的 Xcode 8 中设置约束

带有约束的滚动视图自动布局问题 xcode 8

iOS 8 Xcode 6:灰色约束的意义何在?