2010-05-12 8 views
8
- (void)drawRect:(CGRect)rect { 
    CGContextRef context = UIGraphicsGetCurrentContext(); 


    CGContextSelectFont(context, "Arial", 24, kCGEncodingMacRoman); 


    CGContextShowTextAtPoint(context, 80, 80, "I am Rahul", 7); 





} 

Ich versuche, Text zu zeichnen, wie oben: „Ich bin Rahul“ gezeigt, aber wenn ich den Code ausführen,
Text wird gezeigt, aber es invertiert ist, warum es passiert, ich werde nicht bekommen !! Hilfe!!Zeichnung Text CGContextShowTextAtPoint aber Text dargestellt wird invertiert Verwendung

+0

möglich Duplikat [zum Drehen von Text gezeichnet von Quartz auf dem iPhone] (http://stackoverflow.com/ questions/1899775/how-to-rotate-text-gezeichnet von-quartz-on-iphone) – kennytm

Antwort

26

Sie diesen Code verwenden können:

CGContextSetTextMatrix(context, CGAffineTransformMake(1.0,0.0, 0.0, -1.0, 0.0, 0.0)); 
+0

Danke für die Antwort .. Es hat bei mir funktioniert. – Rahul

+0

user338322 sollten Sie dies wirklich als die Antwort markieren, wie es perfekt funktioniert. –

+0

Nur um das hinzuzufügen - der Grund dafür ist, dass UIKit ein anderes Koordinatensystem als CoreGraphics hat. – James

14

Das ist einfacher:

- (void)drawRect:(CGRect)rect { 
    NSString* string = @"I am Rahul"; 
    [string drawAtPoint:CGPointMake(80, 80) 
       withFont:[UIFont systemFontOfSize:24]]; 
} 
+0

[string drawAtPoint: withFont:] wurde von Apple entzogen. Sie müssen nun [string drawAtPoint: withAttributes:] verwenden –

Verwandte Themen