即使应用程序在非视网膜模式下运行,触摸也处于视网膜分辨率

时间:2013-01-08 17:33:55

标签: ios ipad retina-display

我有一款针对iPad2的应用(非视网膜1024x768显示屏)。我没有明确启用视网膜模式,我的比例因子设置为1,但触摸事件是在视网膜模式下报告坐标,即屏幕的中心是(1024,768),角是( 2047,1535)。

我认为重点是iPad应用程序会自动在非视网膜模式下工作,除非您通过更改比例因子明确启用它。

我正在使用一个创建UIView创建的库,如何获取主UIView并查询它以查看发生了什么?

对于视网膜测试,我只依靠模拟器 - 我有6.1。然而另一位开发人员证实它没有响应他的iPad3设备的触摸,所以我确定这不是模拟器问题。

2 个答案:

答案 0 :(得分:0)

我的glkview应用程序中遇到了相反的情况。我使用screen-> scale属性来翻译tap coords。所以你拥有的是(我怀疑)是下列之一:(a)在你的故事板中有一些属性设置为你的视图(检查所有)(b)你的设备提供这样的布局(什么是iPad顺便说一句)?

稍后会发布更多细节。

答案 1 :(得分:0)

有一些技术错误,也许你没有仔细阅读Apple文档。

1)你不能启用/禁用视网膜:视网膜在硬件中,iOS可以正确使用它,你只能使用它。 (在某些情况下,您可以将代码调整为设备)

2)很少应该使用比例因子(读取苹果doscs),并且仅在与自定义绘图相关的专门代码中使用

3)在Apple视力一般情况下,您不应该在视网膜HW和非视网膜上表现不同。 4)像素和坐标是逻辑坐标,因此底部直角像素始终在y = 1024 x = 768。

4)iPad2上不能有2048像素分辨率。

我不知道您使用的是哪个库,但STD行为不同。