CGContext-Textzeichnung wird auf dem iPhone 4 nicht vergrößert
Ich versuche, eine App zu erstellen, die sich auf dem iPhone 4 gut skalieren lässt. Derzeit skaliert das meiste davon perfekt, mit Ausnahme eines wichtigen Elements: des Textes, den ich in einer CALayer zeichne, in der drawInContext: -Methode. Hier ist mein Code:
- (void)drawInContext:(CGContextRef)context {
UIGraphicsPushContext(context);
CGContextSetGrayFillColor(context, 1.0f, 1.0f);
CGContextFillRect(context, self.bounds);
CGContextSetAllowsAntialiasing(context, true);
CGContextSetShouldAntialias(context, true);
CGContextSetAllowsFontSmoothing(context, true);
CGContextSetShouldSmoothFonts(context, true);
CGContextSetAllowsFontSubpixelQuantization(context, true);
CGContextSetShouldSubpixelQuantizeFonts(context, true);
CGContextTranslateCTM(context, 0.0f, self.frame.size.height);
CGContextScaleCTM(context, 1.0f, -1.0f);
CGContextSetFillColorWithColor(context, [[UIColor blackColor] CGColor]);
CGContextSelectFont(context, "CardKit", 30.0f, kCGEncodingMacRoman);
CGContextSetTextDrawingMode(context, kCGTextFill);
CGContextShowText(context, "A", sizeof("A"));
UIGraphicsPopContext();
}
Diese Kurzform erzeugt auf beiden Geräten gestochen scharfen Text, auf beiden jedoch leider unscharfen Text. So sieht es aus:
Das Bild wird mit 100% Zoom auf dem iPhone 4 aufgenommen. Was in aller Welt? Irgendwelche Ideen, wie ich das beheben kann?