Je veux dessiner du texte dans une vue, tourné de 90 °. Je suis un nouveau venu dans le développement de l'iPhone, et le fait de fouiller le web révèle un certain nombre de solutions différentes. J'en ai essayé quelques-uns et finit généralement avec mon texte se couper.iPhone: dessiner un texte pivoté?
Que se passe-t-il ici? I suis dessin dans un espace assez petit (une cellule de vue de table), mais il doit y avoir une "bonne" façon de le faire ... non?
Edit: Voici quelques exemples. J'essaie d'afficher le texte "" le long de la barre noire à gauche.
Première tentative, de 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);
deuxième tentative, de zgombosi on iPhone Dev SDK. Résultats identiques (la police était légèrement plus petite ici, donc il y a moins d'écrêtage).
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);
Il existe en effet plusieurs façons d'y parvenir. Fournir des détails sur ce que vous avez exactement essayé et comment cela n'a pas fonctionné (comment/où a-t-il été découpé?) Rendrait la réponse plus facile. –
Détail fourni. – s4y