我想知道是否有人可以帮助我跟随。我编写了一个Quartz 2d ap,并使用以下代码为每个设备获取正确的比例因子:
if ([UIScreen instancesRespondToSelector:@selector(scale)])
{
return [[UIScreen mainScreen] scale];
}
else
{
return 1.0;
}
然后我在我的代码中将所有值乘以此比例mulitplier。我遇到的问题是应用程序在ipad上没有在x2模式下显示属性 - 一切都是两倍太大了。有人能帮助我吗?
谢谢,
马丁
答案 0 :(得分:2)
比例因子与较新的iPhone和iPod touch上的Retina显示有关,而不是iPad上的2X缩放设置。实际上,您引用的UIScreen scale
属性在iPad当前的3.2操作系统版本中不存在,仅在4.0+上。在目前运行OS 4.2 beta的iPad上,应始终返回1.0。
在2X模式下使用Quartz绘图的问题you are experiencing必须来自其他地方。您是否对代码中的任何元素进行了特定于设备的检查?
答案 1 :(得分:1)
我不确定这是否是您的问题,但您似乎想要测试UIScreen的选择器比例。它永远不会有。该选择器仅适用于[UIScreen mainScreen]。
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
{
return [[UIScreen mainScreen] scale];
}
else
{
return 1.0;
}
虽然,这个错误会让你觉得它总会返回1.0的等级。