【发布时间】:2013-01-08 17:33:54
【问题描述】:
我有一个针对 iPad2(非视网膜 1024x768 显示器)的应用。我没有明确启用视网膜模式,我的比例因子设置为 1,但触摸事件报告视网膜模式下的坐标,即屏幕的 center 是 (1024,768),角是 ( 2047,1535)。
我认为重点是 iPad 应用程序会自动在非视网膜模式下运行,除非您通过更改比例因子明确启用它。
我正在使用一个创建 UIView 的库,如何获取主 UIView 并查询它以查看发生了什么?
对于视网膜测试,我只依赖模拟器 - 我有 6.1。然而,另一位开发者确认它没有响应他的 iPad3 设备上的触摸,所以我确定这不是模拟器问题。
【问题讨论】:
-
我不知道为什么会这样,你能发布一些相关的代码,看看我们是否可以重现它?是否有调用 drawRect() 或任何 Open GL 调用?如果您以编程方式阅读 contentScaleFactor 是 1 吗?另外,您是否看过在 UIView 中使用 convertPoint:fromView: 方法?
-
那么库只是调用了一个带有坐标的方法,所以它要么是错误的,要么是创建错误的 UIView。如果您发布代码告诉我如何获取主 UIView(或所有 UIView,以便我可以检查它们)并检查相关属性,您可以获得赏金!
-
过去这样做并打印出我使用过此类别的每个视图的详细信息:gist.github.com/nskboy/877593。该特定的为每个子视图添加缩进。然后您可以修改它以将特定属性打印到调试器输出。您不一定需要使用该类别,它只会在以后有所帮助。
标签: ios ipad retina-display