我知道它可能是重复的,但我想知道在选择单元格时更改蓝色高亮颜色的最佳和最快方法。
诅咒,我已经尝试了(并且它有效)在选择单元格时更改背景颜色的方式(如此thread)但我不喜欢这样,我宁愿真正改变这种高亮颜色。
任何链接或想法?感谢。
答案 0 :(得分:6)
在tableview的
中- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
创建一个uiimageview并将其背景颜色更改为所需的颜色
if (cell == nil) {
UIImageView *bgView = [[UIImageView alloc]initWithFrame:cell.frame];
bgView.backgroundColor = [UIColor greenColor];
cell.selectedBackgroundView = bgView;
}
答案 1 :(得分:2)
如果使用nib创建表格视图单元格,则在单元格的属性检查器中,可以看到属性“选择”。将此设置为无。
如果您以编程方式创建,则将您的单元格设置为
yourCell.selectionStyle = UITableViewCellEditingStyleNone;
答案 2 :(得分:0)
首先,您必须创建一个具有相同大小的单元格的视图。将背景颜色应用于该视图。然后在cellForRowAtIndexpath委托方法中将视图设置为单元格的选定背景。
[cell setSelectedBackgroundView:yourView];
答案 3 :(得分:0)
在这个方法中写下这一行
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
if (cell == nil)
{
cell.selectedBackgroundView.backgroundColor = [UIColor clearColor];
UIImageView *bgView = [[UIImageView alloc]initWithFrame:cell.frame];
bgView.backgroundColor = [UIColor redColor];
cell.selectedBackgroundView = bgView;
}
答案 4 :(得分:0)
您可以使用所需颜色为单元的selectedBackgroundView指定新的UIView。 Swift 3
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "departmentCell", for: indexPath)
let selectedView = UIView(frame: cell.frame)
selectedView.backgroundColor = ColorKit.cellSelectionColor
cell.selectedBackgroundView = selectedView
return cell
}