【问题标题】:How to create a view which supports all screen sizes?如何创建支持所有屏幕尺寸的视图?
【发布时间】:2016-03-17 10:00:20
【问题描述】:

大家好,阅读。我正在尝试使应用程序看起来像 Viber 或任何其他带有拨号盘的应用程序来呼叫某人。但我不明白如何做出正确的设计,让每部 iPhone 上的应用看起来都一样。我正在尝试实现这样的目标:

所以我想让整个键盘在所有 iPhone 上看起来都正常。我已经知道我需要为 3 种分辨率的按钮添加所有图像,因此对于 1x,我使用了 54x54、2x - 145x145、3x - 240x240。我在 320x480 (1x)、750x1334 (2x) 和 1242x2208 (3x) 中绘制了 3 个屏幕。所以在纸上一切看起来都很好。但在程序中,在 iPhone 5s 上,我面临这样的问题:

如果我试图将 2x 图像的大小减小到 124x124(整个屏幕为 640x1136,真正的 iPhone 5s 分辨率),iPhone 5s 上的一切看起来都不错,但在 iphone 6(也是 6s)上,按钮看起来太小了。 所以我试图了解我应该怎么做才能制作一个真正的 crossIOS 应用程序。任何帮助都会得到帮助...

【问题讨论】:

    标签: ios swift constraints size-classes


    【解决方案1】:

    是的,可以通过 3 种方式实现:

    1. 使用带有自动布局的情节提要 参考网址:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/

    2.使用带有自动布局的xib文件

    3 自定义屏幕高宽比视图

    【讨论】:

    • 谢谢回复,但我怀疑第二项和第三项是否好。我想通过对 AutoLayout 的理解来做对......
    【解决方案2】:

    你必须使用比例高度来实现这一点

    为此:

    • 在屏幕和任意按钮之间设置等高限制
    • 将所有按钮的纵横比设置为 1:1
    • 根据按钮大小的要求设置乘数
    • 在所有按钮之间设置相等的高度限制

    现在你可以走了。

    【讨论】:

    • 感谢您的回复,我不明白您列表的前两个步骤。拜托,你能详细解释一下吗?
    • 你使用自动布局吗?
    • 我正在使用约束,但大小类是 Any Any
    • 所以设置按钮的比例高度不是问题
    • 我不明白怎么做:根据按钮大小的要求设置乘数
    【解决方案3】:

    将所有按钮放在每个 UIView 中,使用自动布局设置相对于 UIView 的约束(不要限制按钮的高度或宽度),现在使用水平 UIStackView,将分布设置为“平均填充”以填充一行。和一个垂直的 UIStackView,将分布设置为“平均填充”以垂直填充行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多