Question

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

dans cette méthode

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

mais je ne peux le voir que lorsque je sélectionne cette cellule, sinon elle n’est pas visible.et cela fonctionne parfaitement lorsque l’arrière-plan est blanc. Je suis sûr que je dois définir une propriété, mais je ne sais pas quelle propriété je dois modifier pour que cette chose fonctionne.

merci d'avance.

acclamations.

Était-ce utile?

La solution

Il semblerait que l’indicateur de divulgation soit une image grise à haute alpha, si bien que le superposer sur un fond noir la rend invisible. Si vous souhaitez le faire, vous devez ajouter votre propre UIImageView au contentView de la cellule.

Autres conseils

J'ai rencontré le même problème et je viens de créer un UIImageView à partir d'un UIView & # 8217; s imageWithName @ " AccDisclosure.png " en utilisant le modèle de maquette hâtivement suivant que vous êtes libre de copier: http://thinkingman.com /db/downloads/AccDisclosure.png (si vous cliquez simplement sur ce lien, vous ne verrez probablement rien, car il s’agit d’une image blanche avec un arrière-plan transparent, mais si vous enregistrez et visualisez sur un arrière-plan sombre, je verrai l'alpha).

Le code suivant me permet de définir la couleur d'arrière-plan de la pointe de la flèche dans une ligne du tableau:

@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];

J'ai créé une solution en ajoutant un ImageView avec addSubView normalement, avec une image non noire (dans mon cas, un cercle rempli de gris) à la position où l'accessoire apparaît.

Cela permet de voir la flèche tout en conservant une couleur d’arrière-plan de cellule de tableau sombre / noire.

Peut-être pas la solution la plus casher, mais cela rend la flèche visible, et je suis averti des clics sur les accessoires sans sous-classement ni écriture de code.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top