繁体   English   中英

自定义单元格中的自定义tableview单元格选择颜色

[英]custom tableview cell selection color in custom cell

我已经搜索了两天,找不到答案...

我有一个自定义的uitableviewcell,然后在选择单元格时需要实现自定义颜色。

cell.selectedBackgroundView.backgroundColor = [UIColor greenColor];

对我不起作用。 或者,如果有效,则背景颜色清晰,而且我没弄错。 似乎我不知道如何在“接口”构建器中正确连接自定义单元。 我可以创建一个自定义单元格,但是唯一的事情是我不知道如何使选择工作。 因此,如果有人可以帮助我,我将非常感激。 也许有人知道有关此的教程?

提前致谢!

希望下面的代码必须起作用。 您需要将此代码复制粘贴到customCell实现文件中。

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];

UIView *backgroundView = [[UIView alloc] initWithFrame:self.selectedBackgroundView.frame];
[backgroundView setBackgroundColor:[UIColor colorWithRed:143/255.f green:141/255.f blue:147/255.f alpha:1.0]];
[self setSelectedBackgroundView:backgroundView];
[backgroundView release];
}

无需自定义单元格。 如果只想更改单元格的选定颜色,则可以执行以下操作:

UIView *bgColorView = [[UIView alloc] init];
[bgColorView setBackgroundColor:[UIColor redColor]];
[cell setSelectedBackgroundView:bgColorView];
[bgColorView release];

@Pandey_Laxman是正确的。 简单地使用cell.seletedBackgroundView行不通的,因为cell.seletedBackgroundView的backgroundView和selectedBackgroundView默认为零。 您需要先初始化UIView,然后再将其设置为单元格的selectedBackgroundView。 请参见selectedBackgroundView()的定义

好的,我已经找到了我的问题的答案。

我犯了一个非常愚蠢的错误。因此,首先需要将文件所有者类设置为NSObject到IB中的customcell,然后将uitableviewcell类设置为定制单元,在我的情况下是“ myCustomDisplayCell”。

此外,从下至上(IB中的视图),我添加了一个uiview并与单元格backgroundview挂钩,在顶部我放置了一个uiview并与单元格selectedbackgroundview挂钩(使视图颜色清晰),然后确定地我放置了uilabel uiimageview,并连接了这些权限。.(您可以在此处添加自定义单元所需的自己的东西)。 就是这样! 现在看起来很简单。

谢谢大家的帮助!

您可以在自定义单元格类中进行如下设置(快速4):

import UIKit

class CustomTableViewCell: UITableViewCell { 

... 

 override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)
        if(selected) {
            self.backgroundColor = UIColor(named: "BrilliantAzure")
        } else {
            self.backgroundColor = UIColor.white
        }
    }

...

因此,无需为此特定任务创建其他视图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM