在我的tableview中,单元格是自定义单元格,我在其中有按钮和标签。 标签和按钮背景颜色为绿色。
当我单击特定行时,按钮颜色更改和标签背景颜色就是这样。在这里,我使用以下代码通过图层
设置标签背景颜色cell.lblCountMsg.backgroundColor = [UIColor clearColor];
cell.lblCountMsg.layer.backgroundColor = [UIColor colorWithRed:110/255.0 green:189/255.0 blue:82/255.0 alpha:1.0].CGColor;
但是,相同的代码不适用于Button。我尝试使用图层
cell.btnTeting.backgroundColor = [UIColor clearColor];
cell.btnTeting.layer.backgroundColor = [UIColor colorWithRed:110/255.0 green:189/255.0 blue:82/255.0 alpha:1].CGColor;
但未设置绿色并且还更改了选择颜色的颜色。
请参阅,我的屏幕截图(Breaking new)为绿色。 请帮我找到解决方案。 在此先感谢。
答案 0 :(得分:1)
您应该实现didSelectRowAtIndexPath
之类的内容,
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
// Here your custom cell's class instead of UITableViewCell
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
cell.btn.backgroundColor = [UIColor redColor];
}
答案 1 :(得分:1)
如果您创建了UITableViewCell子类,请尝试覆盖
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated
方法。在此方法中,您可以在突出显示单元格时更改单元格中的视图。
例如:
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
self.btnTeting.backgroundColor = [UIColor colorWithRed:110/255.0 green:189/255.0 blue:82/255.0 alpha:1.0];
}
<强>已更新强>
@interface SuggestedGroupCell ()
@property (strong, nonatomic) IBOutlet UIButton *btnSubScribe;
@end
@implementation SuggestedGroupCell
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
self.btnSubScribe.backgroundColor = [UIColor colorWithRed:110/255.0 green:189/255.0 blue:82/255.0 alpha:1.0];
}
@end
答案 2 :(得分:0)
如果要更改按钮的背景颜色,请删除此行,然后尝试:
width: "*"
但是如果你想改变按钮标题颜色,你可以编写如下代码:
cell.btnTeting.layer.backgroundColor = [UIColor colorWithRed:110/255.0 green:189/255.0 blue:82/255.0 alpha:1].CGColor;
这里的UIControlState可以根据你的要求选择UIControlStateNormal,UIControlStateSelected等。