Jagged Quartz 2D rendering on iPad in iPhone mode

I am creating a small card game for the iPhone that uses Quartz to render it. Despite the fact that on the iPhone it looks sharp, it looks really uneven on the iPad (this is not a universal application, so it works in iPhone mode on the iPad). This is not just regular 2x pixelation, but something really strange is happening, and I also see it in 1x mode. (See screenshots below)

I draw maps in the drawRect: method of a UIButtonView subclass. A map with its gradient, rounded corners, shadow, and map contents is drawn using quartz in the drawRect: method. However, a rotation (and possibly a translation for smaller cards that can be “pulled out” below) is applied using the transform property on the view object.

What's going on here?

EDIT:
Screenshot from iPhone: iPhone
Screenshot from iPad:ipad

+3
source share
1 answer

You can’t do anything there, this is basically a bug in iOS.

The fact is that the iPhone mode on the iPad prescribes the iPhone 4 and saves the displays in general. So, here's how it is implemented: iPad just displays a 320x480 viewport. When you press the "2x" button, the viewport does not change. Things are still displayed at 320x480 and are (poorly) scaled.

Apple should definitely improve this and display your application in the retina when it is in 2x mode.

Do not invest more of your time, but only Apple can fix it.

0
source

All Articles