ios - 调整按钮大小以适应任何屏幕的限制 - Xcode swift

标签 ios xcode constraints

我不太了解限制,并尝试了网上找到的许多不同的建议。他们似乎所做的就是把所有东西都堆在一起或者什么也不做。

我有以下 iPad 应用程序,但我希望它可以在任何尺寸的设备上运行,主要是 iPod touch。

enter image description here

该页面只是两个按钮,无论它们位于哪个屏幕上,我都希望它们保持不变。

对此的任何帮助表示赞赏。

最佳答案

考虑不会随屏幕尺寸不同而改变的引用点会有所帮助。有时你想要一些东西,比如左上角,所以你只需要对顶部和左侧进行约束。

我给你两个建议

建议一

对于您的情况,似乎您可能想要对 centerY 进行约束,因为尽管屏幕尺寸如何,您仍希望它们位于中间。

所以我会对“在容器中垂直居中”进行约束,然后点击约束并将其值调整为负值或正值,这样它总是在 centerY 上方或下方 X 像素.

现在这还不够。它知道它的 Y 位置,但不知道它的高度、宽度或 X 位置。因此,您需要添加足够的约束来满足这些条件。

几个例子:

X/Width:每个按钮前导和尾随的两个约束或水平居中和固定宽度约束。 (再次注意固定宽度限制,因为屏幕尺寸可能会改变,但有时它就是你想要的)

高度:是的,在这种情况下只需给它一个高度限制。

请注意,这意味着无论屏幕尺寸如何,它们之间的间隙始终相同(并且可能与其他边缘的间隙不同)。

建议二

使用容器 View ,可以是堆栈 View (填充、等间距、垂直对齐、间隙的间距值)或普通 View 。 您可以根据所需按钮之间的高度和间距使 View 具有固定高度。然后简单地将容器 View 水平和垂直居中放置在 super View 上。

不建议

当然还有其他方法(比如使用具有等高约束的缓冲区 View 。所以你会在顶部有一个不可见的 View ,在中间有一个 View ,在底部有一个 View 。你会给这些等高约束并对齐按钮到它们周围不可见 View 的边缘。只要你给按钮一个固定的高度,这将适用于垂直约束)但我认为这两个可能是最好的。

关于ios - 调整按钮大小以适应任何屏幕的限制 - Xcode swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50491800/

相关文章:

ios - 观察原始指针的值

ios - 如何将 IB 中的自动布局约束从一个 View 复制到另一个 View ?

ios - UIImages 在 xcode 中丢失尺寸并变大

f# - 为什么这个带有成员约束的 F# 代码不能编译?

android - 约束的图形编辑在 Android Studio 2.3.1 中非常慢

ios - 如何在IOS中检查自动对焦是否仍在进行?

ios - 主页上的自定义呼入进度状态栏

asp.net-mvc - ASP.NET MVC2 路由约束 - 可选的数字 ID 参数

iOS - 打电话时在后台播放声音

ios - 更新传输的 iOS 应用程序