0

セルを設定し[cell.contentView addSubview:chatView]ます。chatView には、a UIImageView、two UILabels、および UILabel がありbackgroundColor = [UIColor clearColor]ます。

テーブルの編集中にセルを選択すると、セルが強調表示され、UILabel backgroundColor が強調表示された色に変わります。backgroupColor をキャンセルするにはどうすればよいですか。

4

4 に答える 4

0

選択したセルの背景色を変更したくない場合selectionStyleは、セルのプロパティをUITableViewCellSelectionStyleNoneIeに設定します。

cell.selectionStyle = UITableViewCellSelectionStyleNone;

ラベルの背景色がセルの強調表示された色に設定されている理由は、ラベルの背景色プロパティをクリア カラーに設定しているためです。

これで問題が解決するかどうかお知らせください。

于 2012-04-06T04:13:42.883 に答える
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];
                }
            }

        }
    }
}

UITableViewCell をサブクラス化し、メソッドをオーバーライドします- (void)setSelected:(BOOL)selected animated:(BOOL)animated

于 2012-04-07T04:00:25.920 に答える
0

セル選択のみが強調表示されないようにする場合は、次のようにすることができます。

cell.selectionStyle = UITableViewCellSelectionStyleNone;

ラベル BgColor またはセルをキャンセルするかどうかわかりません

于 2012-04-06T02:41:15.767 に答える