【问题标题】:Button autosize with auto layout in Xcode 6 w/ swiftXcode 6中带有自动布局的按钮自动调整大小 w/swift
【发布时间】:2014-09-18 06:41:09
【问题描述】:

谁能给我一个提示,如何使用自动布局实现按钮的自动大小?

更具体地说: 我的按钮在 iPhone 4s 上是 50x50px。如何实现这个按钮,它的大小在 iPhone 6 plus 屏幕分辨率上增加?有没有一种乘数选项?

编辑: 我想要,iPhone4s 屏幕上的 50x50px 按钮在 iPhone5、iPhone6 显示屏上按比例增加。

谢谢。

BR

【问题讨论】:

    标签: ios iphone xcode swift autolayout


    【解决方案1】:

    使用纵横比。这都是关于数学的。在你开始行动之前,让我们弄清楚我们是如何计算比例的。 因此,如果您希望您的按钮在 400X600 框架上为 50X50,您将如何找到比例。简单——按钮的宽度将是框架的 1/8,按钮的高度将是框架高度的 1/12。就是这样。现在你有你的计算了。

    分步说明:

    首先确保您的尺寸类别为“wCompact hAny”。我们应该看到,像-

    现在我们准备好了-

    1. 选择 ViewController,然后在检查器中选择“Stimulated Size”。在那里,您将看到刺激器的宽度和高度。就我而言,它是 400X600。您可以将其更改为任何内容,并相应地计算您的比例值。

    1. 现在,我们需要定位我们的按钮。我只是将它设置在框架的中间。因此,按住键盘上的“Ctrl”按钮,单击并将鼠标指针从按钮拖动到立即父视图,这将为您提供选项列表。

    从那里,当您选择水平居中和垂直居中选项时,框架中的按钮应如下所示-

    现在您可以看到一些橙色圆点,但暂时忽略它。

    1. 这是您将获得答案的部分。要按比例设置按钮大小,可以使用纵横比。

    再次,按住键盘上的“Ctrl”按钮,单击并将鼠标指针从按钮拖动到立即父视图。这次从列表中选择纵横比。

    从约束列表中选择纵横比约束进行编辑。您需要确保您的第一个项目是 Button 的 width 而您的第二个项目是 superview 的 width 或反之亦然。请记住,您要根据框架的宽度而不是高度来设置按钮宽度的比例值(乘数)。

    现在,如果您的第一项是按钮的宽度,则将乘数设置为 1:8,如果您的第一项是超级视图的宽度,则设置为 8:1。

    1. 再次执行第三步。再次选择纵横比,然后选择此约束进行编辑。但是,这次将您的第一个项目设置为 Button 的 height,将第二个项目设置为 superview 的 height,反之亦然,并将乘数相应地更改为 1:12 或 12:1。

    太好了,如果你已经遵循了这一点,那么你就完成了。您应该会看到类似上面的内容。

    【讨论】:

      【解决方案2】:

      你需要以下三个约束

      1. 对于 X 位置:SuperView 的前导空间
      2. 对于 Y 位置:将中心与 Y 对齐
      3. 对于宽度:到 SuperView 的尾随空间

      检查屏幕显示

      【讨论】:

      • 您好,感谢您的回答。我尝试了您的解决方案,但它对我不起作用。 Button 没有按比例增加。有什么建议么?谢谢!
      猜你喜欢
      • 2015-08-16
      • 1970-01-01
      • 2014-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-29
      相关资源
      最近更新 更多