在imageView创建/删除圆圈

时间:2014-05-21 13:55:51

标签: ios imageview

我使用代码

在imageView创建圆圈
imageView.layer.masksToBounds = YES;
imageView.layer.cornerRadius = imageView.frame.size.height / 2;
imageView.layer.borderColor = kBGColor.CGColor;
imageView.layer.borderWidth = 2.0f;
imageView.layer.rasterizationScale = [UIScreen mainScreen].scale;
imageView.layer.shouldRasterize = YES;
imageView.clipsToBounds = YES;

我在tableView单元格中为用户使用它。

如果那时我改为客人我还有圈子。我无法重新启动它,因为cell中的imageView是只读的。如何使用圆圈制作访客imageView?

VC,我将它用于所有运行时。所以我不能重新启动它

1 个答案:

答案 0 :(得分:0)

UITableViewCell的默认UIImageView是只读的。因此,您必须创建一个与默认UIImageView相同的新UIImageView并将其添加到同一位置。然后,不将图像设置为默认的UIImageView,而是将其设置为此新视图。这将解决您的问题。

查看此堆栈溢出问题:Click Here


然后,为了重新加载单元格,您可以使用以下内容

您可以使用

重新加载整个表格数据
[tableView reloadData];

或者,您可以使用

重新加载整个部分
[tableView reloadSections:[NSIndexSet indexSetWithIndex:section_index] withRowAnimation:UITableViewRowAnimationNone];

或者,您可以使用

重新加载特定行
[mallList reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:row_index inSection:section_index]] withRowAnimation:UITableViewRowAnimationNone];

如果您仍然不想使用任何此类&只有重置图像,你可以使用for循环表示你所有的表格单元格和然后在每行使用这样的东西,但在你必须给你的UIImageView一个特定的标签之前。

imageView.tag = 100;

然后使用

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row_num inSection:section_num];
UIImageView *imgs = (UIImageView *)[[mallList cellForRowAtIndexPath:indexPath] viewWithTag:100];
imgs.layer.cornerRadius = 0;