2009-07-15 10 views

Antwort

13

Es gibt keine "Standard" schwarze, aber es ist nicht so viel Arbeit, um das zu tun, was Sie fragen.

Erstellen Sie (in Photoshop oder etwas Ähnliches) Ihre eigene schwarze Version des Detailentdeckungsbuttons. Wenn es einfacher ist, können Sie das Bild aufnehmen und einfärben. Dann fügen Sie es als eine Ressource zu einem Projekt und legte es in einem UIImage wie so:

UIImage myImage = [UIImage imageNamed:@"blackbutton.png"]; 

dann eine UIImageView schaffen, die das Bild enthält:

UIImageView *imageView = [[UIImageView alloc] initWithImage:myImage]; 

Schließlich dann können Sie das auf die zuweisen " Zubehöransicht "für die Zelle, die Sie bereits eingerichtet haben:

[cell setAccessoryView:imageView]; 

Hoffe, dass hilft!

// EDIT - Ich fühlte mich wie eine schnelle 5 Minuten in Photoshop, so erstellt eine schwarze für Sie. habe Spaß!

entfernt tot Images Link

+0

Welche Größe sollte ich machen –

+0

es ist 28x28 - haben für Sie erstellt und es in meinem Hauptpost verknüpft. hoffe das hilft – h4xxr

+0

vielen dank –

1

Die Antwort von h4xxr nicht vollständig für mich arbeiten in iOS 5.1.1 (auf dem Zubehör Ansicht klicken nicht die tableView:accessoryButtonTappedForRowWithIndexPath Methode aufrufen hat), so verändert ich seine Lösung wenn geklickt aufrufen können mit Hilfe dieser verwandten answer, ein UIButton mit dem Bild eher als ein UIView verwenden, die einen eigenen Selektor:

UIImage *myImage = [UIImage imageNamed:@"blackaccessorybutton.png"]; 
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
button.frame = CGRectMake(0, 0, myImage.size.width, myImage.size.height); 
[button setImage:myImage forState:UIControlStateNormal]; 
[button addTarget: self 
      action: @selector(toggleCustomDetailDisclosureButton:) 
forControlEvents: UIControlEventTouchUpInside]; 
[cell setAccessoryView:button]; 
1

Es gibt eine viel einfachere Lösung auf iOS7. Verwenden Sie die tintColor-Eigenschaft unter UIView. Unterklassen neigen im Allgemeinen dazu, dies zu respektieren, und der Offenlegungsindikator ist keine Ausnahme.

UIView *v = [[cell subviews] lastObject]; 
     v = v.subviews.count ? [v.subviews objectAtIndex:0] : nil; // v is the disclosure indicator 
     if ([v respondsToSelector:@selector(setTintColor:)]) 
      v.tintColor = [UIColor greenColor]; 
Verwandte Themen