ios - 使用 UITableViewCell 绘制条形图 - 单元格可变地部分填充颜色

标签 ios objective-c uitableview drawing

我正在尝试实现一个表格,其中的行部分填充了颜色。本质上,我希望该功能能够将我的 UITableViewCell 的背景颜色填充到一定百分比。

下面是我要创建的 UITableViewCells 类型的图像。在图像中,您可以看到第一行已完全填充,第二行约为 75%,第三行约为 20%,依此类推...

desired effect

我对这个方法做了一些修改,但没有成功:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

我尝试了什么?我尝试向每个单元格的内容 View 添加一个 subview 。 subview 将是一种背景颜色,而实际单元格将是一种清晰的颜色。这是我尝试创建 75% 填充的单元格的代码片段:

cell.backgroundColor = [UIColor clearColor];
int fillWidth = (75/100) * cell.frame.size.width;

CGRect rect = CGRectMake(0, 0, fillWidth, cell.frame.size.height);
UIView * view = [[UIView alloc] initWithFrame:rect];
view.backgroundColor = [UIColor purpleColor];
[cell.contentView addSubview:view];

//...

return cell;

不幸的是,这似乎并没有对单元格的渲染方式做出任何改变。

如何实现每个表格行的部分着色效果(如上图所示)?

最佳答案

我认为您正在除以 2 个整数并期望得到一个 double 值,基本上答案是 0。尝试使用 75.0/100.0

还有一件事我忘了提,cgrect 期望的变量类型是 CGFloat,你使用的是 int,所以你也必须修复它

CGFloat fillWidth = (75.0/100.0) * cell.frame.size.width;

关于ios - 使用 UITableViewCell 绘制条形图 - 单元格可变地部分填充颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21017412/

相关文章:

ios - XCode 警告 : "/* within block comment"

ios - 推送通知请求授权错误-Swift

objective-c - 如何控制分割 View 中的界面方向

IOS - 最新版本的默认 TableView 单元格分隔符颜色

iphone - 当我为 UITableView 设置 rowHeight 时,单元格的高度不应该也改变吗?

objective-c:零检测不一致

ios - UIButton 在突出显示状态下更改代码中创建的图像

ios - 如何在 imageview ios 中获取自定义图像的像素颜色值?

ios - 如何传递 objective-c 中的指针?

ios - UITableView 在滚动后将单元格内容放在错误的行上