Ich möchte etwas Text in einer um 90 ° gedrehten Ansicht zeichnen. Ich bin ziemlich neu in der iPhone-Entwicklung und stochern im Internet zeigt eine Reihe von verschiedenen Lösungen. Ich habe ein paar ausprobiert und normalerweise endet mein Text abgeschnitten.iPhone: Zeichne gedrehten Text?
Was geht hier vor? I am Zeichnung in einem ziemlich kleinen Raum (eine Tabellenansicht Zelle), aber es muss einen "richtigen" Weg, dies zu tun ... richtig?
Edit: Hier sind ein paar Beispiele. Ich versuche, den Text "" entlang der schwarzen Leiste auf der linken Seite anzuzeigen.
Erster Versuch, von RJShearman on the Apple Discussions
CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSelectFont (context, "Helvetica-Bold", 16.0, kCGEncodingMacRoman); CGContextSetTextDrawingMode (context, kCGTextFill); CGContextSetRGBFillColor(context, 1.0, 0.0, 0.0, 1.0); CGContextSetTextMatrix (context, CGAffineTransformRotate(CGAffineTransformScale(CGAffineTransformIdentity, 1.f, -1.f), M_PI/2)); CGContextShowTextAtPoint (context, 21.0, 55.0, [_cell.number cStringUsingEncoding:NSUTF8StringEncoding], [_cell.number length]); CGContextRestoreGState(context);
Zweiter Versuch, von zgombosi on iPhone Dev SDK. Identische Ergebnisse (die Schrift war hier etwas kleiner, so dass es weniger Clipping gibt).
CGContextRef context = UIGraphicsGetCurrentContext(); CGPoint point = CGPointMake(6.0, 50.0); CGContextSaveGState(context); CGContextTranslateCTM(context, point.x, point.y); CGAffineTransform textTransform = CGAffineTransformMakeRotation(-1.57); CGContextConcatCTM(context, textTransform); CGContextTranslateCTM(context, -point.x, -point.y); [[UIColor redColor] set]; [_cell.number drawAtPoint:point withFont:[UIFont fontWithName:@"Helvetica-Bold" size:14.0]]; CGContextRestoreGState(context);
Es gibt tatsächlich ein paar Möglichkeiten, dies zu tun. Einige Details darüber zu geben, was genau Sie versucht haben und wie genau es nicht geklappt hat (wie/wo wurde es abgeschnitten?) Würde es einfacher machen, sinnvoll zu antworten. –
Detail bereitgestellt. – s4y