2010-08-06 5 views
-2

sans création de l'un des uibutton (bouton personnalisé avec l'image d'arrière-plan) dans la cellule tableview. Je veux changer la couleur de l'indicateur d'accessoire de gris à orange.Que dois-je faire pour cela ...Comment rendre visible UITableViewCellAccessoryDisclosureIndicator en orange plutôt qu'en gris?

plz répondre dès que possible (plz répondez-moi clairement ou sinon je ne comprends pas) ...

je suis en attente de réponse ur ...

Merci u ...

+0

plz me répondre bientôt ... – Mano

+0

sans créer UIButton ou UIImageView comme accessoryView de votre UITableViewCell Par exemple, c'est impossible. – jamapag

+0

http://stackoverflow.com/questions/3423824/how-do-i-make-uitableviewcellaccessorydisclosureindicator-visible-in-orange-color/3423863#3423863 – Pablo

Répondre

5

Vous aurez besoin de créer un nouveau UIView avec un UIImageView à l'intérieur, puis réglez que comme accessoire pour la cellule . Vous aurez donc besoin de créer une image comme l'accessoire par défaut, mais dans la couleur que vous voulez.

UIView* accessoryView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 24, 50)]; 
    UIImageView* accessoryViewImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"NEWIMAGE.png"]]; 
    accessoryViewImage.center = CGPointMake(12, 25); 
    [accessoryView addSubview:accessoryViewImage]; 
    [cell setAccessoryView:accessoryView]; 
    [accessoryViewImage release]; 
    [accessoryView release]; 
+0

Merci beaucoup ... OCTERMIRCTY – Mano

7

Il y a une solution beaucoup plus facile à ceci:

cell.accessoryView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"theimage.png"]] autorelease]; 
0

Pour d'autres qui trébuchent encore sur cette question, voici comment faire un programme.

Créer une sous-classe UIView et outrepasser drawRect: ce qui suit:

#define PADDING 4.f //give the canvas some padding so the ends and joints of the lines can be drawn with a mitered joint 

- (void)drawRect:(CGRect)rect 
{ 
    CGContextRef context = UIGraphicsGetCurrentContext(); 

    CGContextSetStrokeColorWithColor(context, [UIColor grayColor].CGColor); 
    CGContextSetLineWidth(context, 3.f); 
    CGContextSetLineJoin(context, kCGLineJoinMiter); 

    CGContextMoveToPoint(context, PADDING, PADDING); 
    CGContextAddLineToPoint(context, self.frame.size.width - PADDING, self.frame.size.height/2); 
    CGContextAddLineToPoint(context, PADDING, self.frame.size.height - PADDING); 

    CGContextStrokePath(context); 
} 

Dessine un indicateur boursier flèche. De là, vous pouvez changer la couleur, la largeur de la ligne, etc.

Pour ajouter l'affichage de l'indicateur pour ton portable:

#define ACCESSORY_WIDTH 13.f 
#define ACCESSORY_HEIGHT 18.f 

cell.accessoryView = [[AccessoryIndicatorView alloc] initWithFrame:CGRectMake(self.frame.size.width - ACCESSORY_WIDTH - CELL_PADDING, self.frame.size.height/2 - ACCESSORY_HEIGHT/2, ACCESSORY_WIDTH, ACCESSORY_HEIGHT)]; 
Questions connexes