Jagged Quartz 2D rendering on iPad in iPhone
I'm creating a little card puzzle game for iPhone that uses Quartz for its rendering. While it looks sharp on the iPhone, it looks really jagged on the iPad (it's not a universal app, so it's running in the iPhone mode on the iPad). This is not just the regular 2x pixelation, but something really strange is going on, and I can also see it in the 1x mode. (See screen shots below)
I'm drawing the cards in the drawRect: method of a UIButtonView subclass. The card with its gradient, the rounded corners, the shadow, and the card contents are all drawn using Quartz in the drawRect: method. However, a rotation (and possibly a translation for the smaller cards that can be "pulled" up from the bottom) is applied using the transform property on the view object.
What is going on here?
EDIT:
Screen shot from iPhone:
Screen shot from iPad:
There's nothing you can do, this is basically a bug in iOS.
Thing is, the iPhone-mode on the iPad pre-dates the iPhone 4 and retain displays in general. So here's how it's been implemented: the iPad simply renders an 320x480 viewport. When you tap the "2x" button, the viewport isn't changed. Things are still rendered at 320x480, and (poorly) upscaled.
Apple should definitely improve this, and render your app in retina when in the "2x" mode.
Don't invest more of your time though, only Apple can fix this.
链接地址: http://www.djcxy.com/p/17158.html