如何创建支持所有屏幕尺寸的视图?

时间:2016-03-17 10:00:20

标签: ios swift constraints size-classes

大家好好读一读。我正在尝试使应用程序看起来像Viber或任何其他带拨号盘的应用程序呼叫某人。但我不明白如何制作一个合适的设计,使每个iPhone上的应用看起来相同。我正在努力实现这样的目标:

Viber Dial Pad looks perfect on all iPhones

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

enter image description here

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

3 个答案:

答案 0 :(得分:1)

是的,有可能有三种方式:

  1. 使用自动布局的故事板 参考网址:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/
  2. 2.使用具有自动布局的xib文件

    3使用屏幕高度和宽度比制作自定义视图

答案 1 :(得分:0)

你必须使用比例高度来实现这个目标

为此:

  • 在屏幕和任何按钮之间设置相等的高度约束
  • 为所有按钮设置宽高比1:1
  • 根据按钮大小的要求设置乘数
  • 在所有按钮之间设置相等的高度约束

现在你很高兴。

答案 2 :(得分:0)

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