2012-04-06 8 views

Antwort

0
- (void)setSelected:(BOOL)selected animated:(BOOL)animated { 
    [super setSelected:selected animated:animated]; 
    if (self.editing) { 

     for (UIView *view in self.contentView.subviews) { 
      for (UIView *subview in view.subviews) { 
       if ([subview isMemberOfClass:[UILabel class]]) { 
        subview.backgroundColor = [UIColor clearColor]; 
       } 
      } 

     } 
    } 
} 

Unterklasse I die UITableViewCell, und überschreiben Sie die Methode - (void)setSelected:(BOOL)selected animated:(BOOL)animated

0

wenn Sie die Zelle auswählen möchten nicht markiert ist, können Sie wie folgt tun:

cell.selectionStyle = UITableViewCellSelectionStyleNone; 

Ich bin nicht sicher Sie das Etikett BgColor oder die Zelle abbrechen möchten

+0

dank charse.This lassen Zelle nicht selected.I die Zelle ausgewählt werden soll, und die Hintergrundfarbe des UILabel nicht – zhiquan911

+0

ich weiß, ändern, Sie überlasten müssen die - (void) setSelected: (BOOL) ausgewählt animiert: (BOOL) animierte Methoden wie: - (void) setSelected: (BOOL) ausgewählt animiert: (BOOL) animiert { [super setAusgewählt: ausgewählt animiert: animiert]; für (UIView * view in self.contentView-views) { für (UIView * Unteransicht in viewviews) { if ([Unteransicht isMemberOfClass: [UILabel-Klasse]]) { subview.backgroundColor = [UIColor clearColor]; } } } } vielleicht kann die Ihnen helfen – charse

0

Wenn Sie don ‚t wollen, um Ihre ausgewählten Zelle seine Hintergrundfarbe die selectionStyle Eigenschaft einer Zelle zu UITableViewCellSelectionStyleNone Ie zu ändern:

cell.selectionStyle = UITableViewCellSelectionStyleNone; 

der Grund, warum die Ihr Etikett Hintergrundfarbe ist auf die hervorgehobene Farbe der Zelle eingestellt, weil Sie die Hintergrundfarbe des Etiketts auf die Farbe eingestellt haben.

Lassen Sie mich wissen, ob dies Ihr Problem löst.

+0

ich thie Frage nach Überschreibung gelöst haben "- (void) setSelected: (BOOL) animiert ausgewählt: (BOOL) animiert" .In thie Methode, ich die UILabel finden die In den Unteransichten der Zelle ändern Sie dann die backgroundColor des UILabels in [UIColor clearColor] – zhiquan911

1
theLabel.layer.backgroundColor = myColor 

Dies funktioniert gut.

Verwandte Themen