如何使iOS应用程序在iPhone 5、iPhone 6和iPhone 6中看起来相同;

如何使iOS应用程序在iPhone 5、iPhone 6和iPhone 6中看起来相同;,ios,iphone,xcode,swift,screen-size,Ios,Iphone,Xcode,Swift,Screen Size,我正在构建一个iPhone应用程序,使用Swift,XCode 7.3.1进行纵向定向。我们已经为我们的应用程序中需要的屏幕提供了视觉显示(来自我们的设计师)。作为开发人员,我们需要将应用程序屏幕元素与提供的视觉显示完全匹配。我们使用了自动布局,但屏幕中各种元素的匹配并不精确。我们在根据iPhone型号改变字体大小等方面遇到问题 因此,目前我们有一个switch语句,其中我们正在检查deviceModel,将iPhone 6+的元素大小增加一个固定百分比,并将iPhone 5/5S的元素大小减少

我正在构建一个iPhone应用程序,使用Swift,XCode 7.3.1进行纵向定向。我们已经为我们的应用程序中需要的屏幕提供了视觉显示(来自我们的设计师)。作为开发人员,我们需要将应用程序屏幕元素与提供的视觉显示完全匹配。我们使用了自动布局,但屏幕中各种元素的匹配并不精确。我们在根据iPhone型号改变字体大小等方面遇到问题

因此,目前我们有一个switch语句,其中我们正在检查deviceModel,将iPhone 6+的元素大小增加一个固定百分比,并将iPhone 5/5S的元素大小减少一个固定百分比。我们的视觉显示基于iPhone 6的屏幕大小,因此我们将iPhone 6作为基线


我相信有更好的方法可以做到这一点。有人能在这个问题上帮助我吗。

好的,让我分享一下我处理这种情况的方法

我的应用程序设计用于:

iPhone5-屏幕大小4.0英寸

iPhone6-屏幕尺寸4.7英寸

iPhone 6+-屏幕大小5.5英寸


我的基本手机是iPhone5屏幕(4英寸)

所以我要求设计师设计4英寸大小的PSD, 我在Xcode的故事板中实现时也遵循了同样的原则 最重要的是,一旦你有了合适的设计和字体的布局。 我们需要仔细定义自动布局

注意:所有必需的资源/图标有三种尺寸

  • 1x用于iPhone 5
  • iPhone6的2倍
  • iPhone6的3倍+

    • 好的,让我分享一下我处理这种情况的方法

      我的应用程序设计用于:

      iPhone5-屏幕大小4.0英寸

      iPhone6-屏幕尺寸4.7英寸

      iPhone 6+-屏幕大小5.5英寸


      我的基本手机是iPhone5屏幕(4英寸)

      所以我要求设计师设计4英寸大小的PSD, 我在Xcode的故事板中实现时也遵循了同样的原则 最重要的是,一旦你有了合适的设计和字体的布局。 我们需要仔细定义自动布局

      注意:所有必需的资源/图标有三种尺寸

      • 1x用于iPhone 5
      • iPhone6的2倍
      • iPhone6的3倍+

      诀窍在于飞溅。

      Default-568h@2x.png                640 x 1136
      Default.png                        320 x 480
      Default@2x.png                     640 x 960
      
      只需在项目中添加,只需拖放即可,您不需要在任何地方添加此飞溅,只需将它们保留在源项目中即可。该项目按此名称搜索,并在所有设备(包括ipad)中以相同的设计阅读应用程序


      更多信息

      诀窍在飞溅中。

      Default-568h@2x.png                640 x 1136
      Default.png                        320 x 480
      Default@2x.png                     640 x 960
      
      只需在项目中添加,只需拖放即可,您不需要在任何地方添加此飞溅,只需将它们保留在源项目中即可。该项目按此名称搜索,并在所有设备(包括ipad)中以相同的设计阅读应用程序


      更多信息首先,您不能使用基于三种可能设备的交换机。首先,你搞乱了iphone4s用户,也搞乱了无数iPad用户(如果你没有iPad版本,iPad就会显示一个放大的4s屏幕)。其次,你不知道未来的设备有什么分辨率。如果你想让你的up在iPad上正常运行,有两种尺寸,你应该可以旋转,然后你有五种方法来分割屏幕


      一开始就犯了一个大错误:坚持逐像素匹配给定的设计。让您的设计师参加课程,学习iOS设备的工作原理。我会引用Fogmeister的话,用大字体打印出来,挂在设计师的桌子上:“它们是不同的设备。你的应用程序在它们上面看起来都不一样。你的应用程序在每个设备上看起来都不一样。你的设计师应该知道这一点,并提供适合每个设备的设计。”

      即使你想让5、6和6+屏幕除了尺寸之外看起来都一样,那也是糟糕的设计。更大的字体不仅仅是更大。在放大镜下,36磅的同一字体不仅仅是18磅,还有细微的差别。当尺寸较大时,线条的厚度不应按比例增加,因此会导致糟糕的设计

      要实际使用更大的屏幕尺寸,可以根据iOS 9 SDK构建,也可以提供所需尺寸的启动屏幕(例如,在iOS 8之前,苹果假设如果您没有6+大小的启动屏幕,那么您不知道如何处理该设备,因此他们会模拟较小的启动屏幕)


      然后读取屏幕大小并使用它来缩放对象,或者使用自动布局。自动布局是一个野兽,你必须学会如何处理。这需要时间。确保6+比6或5能显示更多的信息,否则大型手机的用户会对你感到恼火

      首先,不要使用基于三种可能设备的交换机。首先,你搞乱了iphone4s用户,也搞乱了无数iPad用户(如果你没有iPad版本,iPad就会显示一个放大的4s屏幕)。其次,你不知道未来的设备有什么分辨率。如果你想让你的up在iPad上正常运行,有两种尺寸,你应该可以旋转,然后你有五种方法来分割屏幕


      一开始就犯了一个大错误:坚持逐像素匹配给定的设计。让您的设计师参加课程,学习iOS设备的工作原理。我会引用Fogmeister的话,用大字体打印出来,挂在设计师的桌子上:“它们是不同的设备。你的应用程序在它们上面看起来都不一样。你的应用程序在每个设备上看起来都不一样。你的设计师应该知道这一点,并提供适合每个设备的设计。”

      即使你想让5、6和6+屏幕除了尺寸之外看起来都一样,那也是糟糕的设计。更大的字体不仅仅是更大。36磅的同一字体不仅仅是