Sto aggiungendo un'istanza UILabel
come sottoview delle mie istanze personalizzate UITableViewCell
dell'istanza contentView
.UILabel sfocata come subview programmatico di UITableViewCell contentView
Quando seleziono la cella, la riga viene evidenziata in blu, ad eccezione dello sfondo dell'etichetta. Il testo dell'etichetta è nitido.
Quando si imposta la proprietà backgroundColor
di visualizzazione del contenuto su [UIColor clearColor]
, il testo dell'etichetta diventa sfocato.
Come impostare il colore dello sfondo dell'etichetta in modo che sia chiaro, per consentire l'evidenziazione della riga, mantenendo comunque il testo dell'etichetta nitido?
Un suggerimento che ho letto altrove era a round
valori dell'etichetta frame
, ma questo non ha avuto alcun effetto.
CODICE
Ecco un frammento di -setNeedsLayout
metodo mia abitudine UITableViewCell
di visualizzazione secondaria:
UILabel *_objectTitleLabel = [[UILabel alloc] initWithFrame:CGRectNull];
_objectTitleLabel.text = [self.awsObject cleanedKey];
_objectTitleLabel.font = [UIAppDelegate defaultObjectLabelFont];
_objectTitleLabel.highlightedTextColor = [UIColor clearColor]; //[UIAppDelegate defaultLabelShadowTint];
_objectTitleLabel.backgroundColor = [UIColor clearColor]; //[UIAppDelegate defaultWidgetBackgroundTint];
_objectTitleLabel.frame = CGRectMake(
kCellImageViewWidth + 2.0 * self.indentationWidth,
0.5 * (self.tableView.rowHeight - 1.5 * kCellLabelHeight) + kCellTitleYPositionNudge,
contentViewWidth,
kCellLabelHeight
);
_objectTitleLabel.frame = CGRectIntegral(_objectTitleLabel.frame);
_objectTitleLabel.tag = kObjectTableViewCellTitleSubviewType;
//NSLog(@"_objectTitleLabel: %@", NSStringFromCGRect(_objectTitleLabel.frame));
[self.contentView addSubview:_objectTitleLabel];
[_objectTitleLabel release], _objectTitleLabel = nil;
...
self.contentView.backgroundColor = [UIAppDelegate defaultWidgetBackgroundTint];
self.contentView.clearsContextBeforeDrawing = YES;
self.contentView.autoresizesSubviews = YES;
self.contentView.clipsToBounds = YES;
self.contentView.contentMode = UIViewContentModeRedraw;
puoi pubblicare il tuo codice sorgente? –
Si prega di consultare lo snippet di codice aggiunto. –