2015-02-18 56 views
5

对于目前市场上的iOS尺子应用程序如何与不同尺寸的设备兼容,我感到非常困惑。底部显示了一个例子。标尺应用程序如何在所有设备上保持准确?

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

我的查询是这些标尺应用程序如何准确显示标尺而无法获取设备PPI?

我首先想到的是每个设备的PPI和屏幕尺寸都被硬编码到应用程序中。这似乎是一个很大的努力和百万错误的秘诀。这真的是他们如何做到的吗?它需要在每个不同的设备上进行测试,以确保其正常工作。我只能访问我的iPhone 5S。他们可能对每个不同的设备有不同的统治者形象?这会占用手机上的很多空间。

我已经看到过关于绘制标尺的类似问题,但是(纠正我,如果我错了)他们似乎没有解决方案来维持不同屏幕尺寸和PPI的准确性。他们似乎都说“这是不可能的”。如果不可能,它是如何完成的?

example

+0

可能是您的第一个想法。 – zaph 2015-02-18 00:10:50

+0

没有那么多不同的像素尺寸,因为许多设备具有相同的像素尺寸。可能有7到10种不同的尺寸可以跟上现在的发展。 – 2015-02-18 00:19:50

回答

5

正如你已经发现,内部监督办公室对获得设备的PPI没有公开的API。

这些应用程序可能有一个硬编码列表,正如你推测的那样。有一百下的硬件设备ID(参见this list例如),只有不同的生产者价格指数屈指可数:

  • 非Retina iPhone,iPod touch和iPad的迷你:163 PPI
  • 视网膜iPhone(除6+),iPod的触摸,和ipad迷你:326 PPI
  • iPhone 6+:401 PPI
  • 非视网膜ipad公司:132 PPI
  • 视网膜ipad公司:264 PPI

我猜这些应用程序的制造商不要通常测试他们的应用程序与每个设备。除非您已经检查了应用程序,否则没有理由相信这些应用程序比上面列出的PPI更准确。

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

+0

呃。感谢您的回答,但这证实了我的担忧。因此,如果我要做类似的事情,我必须从<100(我应该能够找到一个现成的课程?)列表中检测设备,获取检测到的设备的PPI。然后,我会根据PPI的平方根来找出一英寸内有多少像素,然后根据计算结果绘制标尺。这听起来不错吗?所以当新设备发布时,我需要检查它是否已经改变,如果有,我需要更新硬编码列表? – 2015-02-18 15:35:29

+0

你不需要取一个平方根。我列出的PPI是沿屏幕边缘测量的,而不是对角线。我已更新我的答案,以帮助您找到设备类型。 – 2015-02-18 22:39:00

+0

这非常有帮助。我现在试着继续吧! – 2015-02-19 07:46:09

相关问题