3 Stimmen

Jagged Quartz 2D-Rendering auf dem iPad im iPhone-Modus

Ich entwickle ein kleines Kartenspiel für das iPhone, das Quartz für sein Rendering verwendet. Während es auf dem iPhone scharf aussieht, sieht es auf dem iPad wirklich zackig aus (es ist keine Universal-App, also läuft es im iPhone-Modus auf dem iPad). Es handelt sich nicht nur um die übliche 2x-Pixelung, sondern um etwas wirklich Seltsames, das ich auch im 1x-Modus sehen kann. (Siehe Bildschirmfotos unten)

Ich zeichne die Karten in der drawRect: Methode einer UIButtonView Unterklasse. Die Karte mit ihrem Farbverlauf, die abgerundeten Ecken, der Schatten und der Karteninhalt werden alle mit Quartz in der drawRect:-Methode gezeichnet. Allerdings wird eine Rotation (und möglicherweise eine Translation für die kleineren Karten, die von unten nach oben "gezogen" werden können) über die Eigenschaft transform auf das View-Objekt angewendet.

Was ist hier eigentlich los?

EDITです:
Bildschirmfoto vom iPhone: iPhone
Bildschirmfoto vom iPad: ipad

0voto

Ecco Punkte 1264

Da kann man nichts machen, das ist im Grunde ein Fehler in iOS.

Die Sache ist die, dass der iPhone-Modus auf dem iPad älter ist als das iPhone 4 und dass die Displays im Allgemeinen erhalten bleiben. Also hier ist, wie es umgesetzt wurde: das iPad einfach rendert ein 320x480 Viewport. Wenn Sie auf die Schaltfläche "2x" tippen, wird das Ansichtsfenster nicht geändert. Die Dinge werden immer noch mit 320x480 gerendert und (schlecht) hochskaliert.

Apple sollte dies auf jeden Fall verbessern und Ihre App im "2x"-Modus in Retina darstellen.

Investieren Sie aber nicht noch mehr Zeit, nur Apple kann das Problem beheben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X