我不太了解限制,并尝试了网上找到的许多不同的建议。他们似乎所做的就是把所有东西都堆在一起或者什么也不做。
我有以下 iPad 应用程序,但我希望它可以在任何尺寸的设备上运行,主要是 iPod touch。
该页面只是两个按钮,无论它们位于哪个屏幕上,我都希望它们保持不变。
对此的任何帮助表示赞赏。
最佳答案
考虑不会随屏幕尺寸不同而改变的引用点会有所帮助。有时你想要一些东西,比如左上角,所以你只需要对顶部和左侧进行约束。
我给你两个建议
建议一
对于您的情况,似乎您可能想要对 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/