iOS:按钮大小是相对的还是绝对的?

时间:2016-06-17 13:22:29

标签: ios user-interface screen screen-density

我想知道iOS的ui设计关于ui元素大小调整的最佳实践是什么,尤其是按钮。在我的例子中,所有按钮都基于图像,没有文字。

我看到两种方法

绝对尺寸

PRO:

  • 基于图像的按钮不需要重新缩放,避免模糊
  • 界面设计器中的简单设置

CON:

    相对于其他ui元素,
  • 按钮在较大的显示器(ipad2与iphone 4)上看起来较小

相对尺寸

PRO:

  • 按钮在所有显示分辨率和密度的整体ui外观上看起来更好

CON:

  • 按钮可能看起来模糊
  • 界面构建器约束将变得更复杂

我忘记了什么吗?或者我弄错了?

现在我正在完全相对于屏幕设计ui。因此,假设一个按钮的宽度为屏幕宽度的10%,宽高比为1:1。当ui完全相对时,所有设备上的一切似乎都是一致的。但我的问题始于@ 2x密度按钮。 iphone 4的宽度(纵向模式)为640,而ipad2的宽度为768.我应该创建宽度为77px或68px的@ 2x,10%按钮图像吗?我会说77因为缩小比升级更好。

嗯,这引出了我的问题:

设计用户界面的最佳做法是什么?我们应该如何处理按钮的图像设计?

2 个答案:

答案 0 :(得分:0)

通常问题是文本被拉长了。

您可以通过以下方式设置拉伸区域: https://developer.apple.com/library/ios/recipes/xcode_help-image_catalog-1.0/chapters/SlicinganImage.html

如果使用渐变并且在拉伸时变得模糊,则需要使用Core Graphics绘制渐变。

答案 1 :(得分:0)

我会说在iOS中布置图像按钮的没有终极方法,它总是取决于你想要实现的目标。

在您的情况下,我会建议采用以下方法:

  1. 使用布局约束来正确定位按钮。
    仅使用 间距约束,没有宽度或高度约束

  2. 设置按钮的图像(在Interface Builder或代码中)。
    确保以所有三种分辨率@ 1x,@ 2x,@ 3x提供每个图像资源

  3. 如果连续有多个按钮,则每个按钮都有不同的水平压缩阻力优先级。这样可以确保如果您的按钮并非全部适合屏幕,则一个(或多个)按钮将按比例缩小以适应。

  4. 将图像指定给UIButton时,该图像将确定按钮的intrinsicContentSize。因此,按钮将自动获取图像的大小(如果没有其他具有更高优先级的约束),并且只有在绝对必要时才会缩小(参见上面的数字3)。

    只有在按钮旁边留下灵活空间时,才能使用此方法。例如,如果您打算将屏幕平均分成三列,并且每个按钮应该占据列的整个宽度,则除了屏幕尺寸较小的设备之外,您可以让系统按比例缩小图像。它总是取决于您是否可以允许按钮自己调整大小,或者是否需要从超级视图强制按钮的宽度(或高度)。