Je cherche un moyen de centrer le texte sur l'iPhone en utilisant la méthode context.ShowTextAtPoint().Centre de l'iPhone texte ShowTextAtPoint
4
A
Répondre
8
Beter tard que jamais:
d'abord mis le texte sur la vue (en mode invisible):
CGTextDrawingMode mode = CGContextGetTextDrawingMode(ctx);
CGContextSetTextDrawingMode(ctx, kCGTextInvisible);
CGContextShowTextAtPoint(ctx, 0, 0, @"test", strlen("test"));
obtenir ensuite la position du texte et réglez le mode sur visible:
CGPoint pt = CGContextGetTextPosition(ctx);
CGContextSetTextDrawingMode(ctx, mode);
Maintenant vous avez la position du texte invisible. Utilisez ensuite le centre de l'écran (160) et placez un nouveau texte dessus.
CGContextShowTextAtPoint(ctx, 160 - pt.x/2, 200, @"test", strlen("test"));
2
heres pour aligner Gauche et Droite. vous pouvez en déterminer le centre
#import <UIKit/UIKit.h>
@interface AdustableUILabel : UILabel{
CGFloat characterSpacing;
}
@property CGFloat characterSpacing;
@end
#import "AdustableUILabel.h"
@implementation AdustableUILabel
@synthesize characterSpacing;
- (void)drawTextInRect:(CGRect)rect
{
if (characterSpacing)
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGFloat size = self.font.pointSize;
CGContextSelectFont (context, [self.font.fontName UTF8String], size, kCGEncodingMacRoman);
CGContextSetCharacterSpacing (context, characterSpacing);
CGContextSetTextDrawingMode (context, kCGTextFill);
CGContextSetRGBFillColor(context, 255/255.0, 255/255.0, 255/255.0, 255/255.0);
// Rotate text to not be upside down
CGAffineTransform xform = CGAffineTransformMake(1.0, 0.0, 0.0, -1.0, 0.0, 0.0);
CGContextSetTextMatrix(context, xform);
const char *cStr = [self.text UTF8String];
//get the UILabel alignment
if(self.textAlignment == UITextAlignmentLeft){
// Drawing code
//just draw it in the current Rect offset from LHS
CGContextShowTextAtPoint (context, rect.origin.x, rect.origin.y + size, cStr, strlen(cStr));
}else{
//RHS
//draw in invisible mode, get the size then subtract from width of rect to get left hand x of the text
CGContextSetTextDrawingMode(context, kCGTextInvisible);
CGContextShowTextAtPoint (context, rect.origin.x, rect.origin.y + size, cStr, strlen(cStr));
//Then get the position of the text and set the mode back to visible:
CGPoint pt = CGContextGetTextPosition(context);
//Draw at new position
CGContextSetTextDrawingMode(context, kCGTextFill);
CGContextShowTextAtPoint(context, rect.size.width - pt.x, rect.origin.y + size, cStr, strlen(cStr));
//===============
}
}
else
{
// no character spacing provided so do normal drawing
[super drawTextInRect:rect];
}
}
@end
Questions connexes
- 1. centre texte align avec css
- 2. Centre un seul caractère de texte verticalement?
- 3. Verticalement Centre Texte dans un élément d'entrée
- 4. Latex: texte du centre dans la liste
- 5. texte CSS dans le centre de l'image d'arrière-plan
- 6. Centre de texte dans un toast dans Android
- 7. dessiner le texte au centre de l'image en utilisant PIL
- 8. Comment placer le texte au centre d'une image?
- 9. Texte du centre relatif à la mise en page
- 10. Aligner le texte au centre en headerlabel dans l'iphone
- 11. L'image et le texte ne sont pas alignés au centre
- 12. Pourquoi est-ce que ie8 centre le texte lorsque l'alignement de texte est réglé sur gauche?
- 13. qt centre de la barre d'état aligné?
- 14. Centre de recherche de l'arbre
- 15. centre une image de fond
- 16. Bons modèles de centre d'administration
- 17. Centre de cellules d'Excel décalé
- 18. comment centrer mon étiquette de texte au centre de la barre de navigation
- 19. 'EmptyDataRowStyle' de Gridview - impossible d'aligner le centre
- 20. Comment définir l'alignement de texte UITableViewCellStyleSubtitle au centre de l'iPhone iOS4?
- 21. appel vidéo (centre)
- 22. javascript centre horizontal
- 23. colonnes Centre dans TableLayoutPanel
- 24. Centre fadeIn image
- 25. Centre div flotta articles
- 26. Centre Swing Windows
- 27. Centre Bouton CSS
- 28. Centre Nav Bar Elements
- 29. centre une boîte div
- 30. Aligner centre dans Flex