3

我正在为 iPhone 创建一个使用 Quartz 进行渲染的小卡片益智游戏。虽然它在 iPhone 上看起来很锐利,但在 iPad 上看起来确实是锯齿状的(它不是通用应用程序,所以它在 iPad 上以 iPhone 模式运行)。这不仅仅是常规的 2x 像素化,而是发生了一些非常奇怪的事情,我也可以在 1x 模式下看到它。(见下面的屏幕截图)

我在 UIButtonView 子类的 drawRect: 方法中绘制卡片。带有渐变、圆角、阴影和卡片内容的卡片都是在 drawRect: 方法中使用 Quartz 绘制的。但是,使用视图对象上的 transform 属性应用了旋转(可能还有可以从底部“向上拉”的较小卡片的平移)。

这里发生了什么?

编辑:
来自 iPhone 的苹果手机
屏幕截图:来自 iPad 的屏幕截图:平板电脑

4

1 回答 1

0

你无能为力,这基本上是iOS中的一个错误。

问题是,iPad 上的 iPhone 模式早于 iPhone 4,并且通常保留显示。下面是它的实现方式:iPad 只是渲染一个 320x480 的视口。当您点击“2x”按钮时,视口不会改变。事物仍以 320x480 渲染,并且(较差)放大。

Apple 绝对应该改进这一点,并在“2x”模式下以 Retina 呈现您的应用程序。

不过,不要投入更多时间,只有 Apple 可以解决此问题。

于 2012-12-08T23:07:52.623 回答