Wie mache ich UITableViewCellAccessoryDisclosureIndicator sichtbar in schwarzem Hintergrund?

StackOverflow https://stackoverflow.com/questions/249010

  •  05-07-2019
  •  | 
  •  

Frage

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

in diesem Verfahren

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

, aber ich kann es nur sehen, wenn ich die Zelle auswählen sonst ist es nicht perfekt visible.and arbeiten, wenn Hintergrund weiß ist. Ich bin sicher, dass ich eine Eigenschaft setzen, aber ich weiß nicht, welche Eigenschaft die ich ändern müssen, um dieses Ding funktioniert.

Vielen Dank im Voraus.

prost.

War es hilfreich?

Lösung

Es scheint, dass die Offenlegung Indikator ist ein graues, High-Alpha-Bild, so dass es unsichtbar über einen schwarzen Hintergrund überlagert macht. Wenn Sie dies tun wollen, müssen Sie Ihre eigene UIImageView der Zelle content hinzuzufügen.

Andere Tipps

Ich lief in das gleiche Problem, und erstellen Sie einfach eine UIImageView aus einem UIView der imageWithName @ „AccDisclosure.png“ mit der folgenden hastig verspottet-up Grafik, die Sie frei sind zu kopieren: http://thinkingman.com/db/downloads/AccDisclosure.png (wenn Sie nur auf diesen Link klicken, werden Sie wahrscheinlich sehen nichts, da es sich um ein weißes Bild mit einem transparenten Hintergrund ist, aber wenn Sie es und Blick gegen einen dunklen Hintergrund speichern, werden Sie sehen, die alpha).

Der folgende Code ermöglicht es mir, die Hintergrundfarbe der Pfeilspitze in einer Tabellenzeile zu setzen:

@property (nonatomic,retain) UILabel *backgroundLabel;

UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
label.backgroundColor = [UIColor orangeColor]; 
self.backgroundLabel = label;
[self.contentView addSubview:label];
[label release];

CGRect labelRect = CGRectOffset(contentRect,0, 0);
labelRect.size.height = contentRect.size.height - 1; // show white line
labelRect.size.width = contentRect.size.width + 50; // cover arrow tip background
backgroundLabel.frame = labelRect;    
backgroundLabel.highlightedTextColor = [UIColor whiteColor];

Ich habe eine Lösung, wo ich mit addSubView einen Image hinzugefügt in der normalen Art und Weise, mit einem Bild, das nicht schwarz war (in meinem Fall ein grau gefüllter Kreis) an der Stelle, wo das Zubehör angezeigt.

Das erlaubt der Pfeil zu sehen und immer noch eine dunkele / schwarze Tabellenzelle Hintergrundfarbe hat.

Vielleicht nicht die reine Lösung, aber es macht den Pfeil sichtbar, und ich werde Zubehör Klicks ohne Subclassing oder schreiben viel Code mitgeteilt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top