对于目前市场上的iOS Ruler应用程序如何与不同尺寸的设备兼容,我确实感到困惑。底部显示了一个示例。

经过研究,我得出的结论是不可能实时获取当前屏幕的PPI,这使得不可能以编程方式绘制标尺。

我的查询是这些标尺应用如何在无法获取设备PPI的情况下准确显示标尺?

我首先想到的是每个设备的PPI和屏幕尺寸都硬编码到应用程序中。这似乎需要付出很大的努力,而且会导致一百万个错误。这真的是他们必须做的吗?需要在每个不同的设备上对其进行测试,以确保其正常工作。我只能访问我的iPhone 5S。对于每个不同的设备,它们可能会有不同的标尺图像吗?这将占用电话大量空间。

我在SO上也看到过类似的问题,关于绘图标尺,但是(如果我错了,请纠正我)他们似乎没有解决方案来保持不同屏幕尺寸和PPI的准确性。他们似乎都说“这是不可能的”。如果不可能,怎么办?

最佳答案

如您所知,iOS没有用于获取设备PPI的公共(public)API。

正如您推测的那样,这些应用程序可能具有硬编码列表。硬件设备ID不到一百个(例如,请参见this list),并且只有少数几个不同的PPI:

  • 非视网膜iPhone,iPod touch和iPad mini:163 PPI
  • 视网膜iPhone(6+及更高版本),iPod touch和iPad mini:326 PPI
  • iPhone 6+:401 PPI
  • 非视网膜iPad:132 PPI
  • 视网膜iPad:264 PPI

  • 我猜这些应用程序的制造商不会通常在每台设备上测试其应用程序。而且,除非您已经检查过这些应用程序,否则没有理由不认为这些应用程序比上面列出的PPI更准确。

    要检测iOS设备类型check the answers to this question

    关于ios - 标尺应用程序如何在所有设备上保持准确?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28573639/

    10-10 13:50