代码之家  ›  专栏  ›  技术社区  ›  benjiiiii

调整按钮大小以适应任何屏幕的约束-xcode swift

  •  0
  • benjiiiii  · 技术社区  · 6 年前

    我不太了解限制条件,尝试了很多在网上找到的不同建议。他们所做的似乎就是把所有的事情都堆在一起,或者什么都不做。

    我有下面的iPad应用程序,但我希望它能在任何尺寸的设备上工作,主要是iPod touch。

    enter image description here

    页面只是两个按钮,不管它们在哪个屏幕上,我都希望保持不变。

    对此任何帮助都表示感谢。

    1 回复  |  直到 6 年前
        1
  •  1
  •   gadu    6 年前

    它有助于思考不同屏幕尺寸下不会改变的参考点。有时你想要一些东西,比如说左上角,这样你只需要对左上角做一些限制。

    我给你两个建议

    建议一

    对于您的情况,似乎您可能希望取消限制 centerY 因为不管屏幕大小,你都希望它们在中间。

    所以我要做一个约束“在容器中垂直居中”,然后点击约束并将其值调整为负或正,这样它总是在 中心 .

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

    几个例子:

    x/宽度:每个按钮或中心水平和固定宽度约束的前后两个约束。(同样要注意固定宽度的限制,因为屏幕大小可能会改变,有时这是你想要的)

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

    请注意,这意味着无论屏幕大小如何,它们之间总是有相同的间隙(可能与其他边缘的间隙不同)。

    建议二

    使用容器视图、堆栈视图(填充、等间距、垂直对齐、间距值)或普通视图。 可以根据所需按钮的高度和间距将视图设置为固定高度。然后简单地将容器视图在超级视图上水平和垂直居中。

    非暗示

    当然还有其他方法(比如使用高度相同的缓冲区视图)。所以你会看到一个不可见的视图在顶部,中间的视图和底部的视图。你会给这些同样的高度约束,并将按钮与周围不可见视图的边缘对齐。只要你给按钮一个固定的高度,这将对垂直限制有效),但我认为这两个可能是最好的。