我有一个UICollectionView,我在使用此代码(在UICollectionViewCell的子类中)在选择单元格时添加边框:
- (void)isSelected{
NSLog(@"selected");
[self.layer setBorderColor:[UIColor colorWithRed:213.0/255.0f green:210.0/255.0f blue:199.0/255.0f alpha:1.0f].CGColor];
[self.layer setBorderWidth:1.0f];
[self.layer setCornerRadius:9.5f];
}
- (void)isNotSelected{
NSLog(@"not selected");
[self.layer setBorderColor:[UIColor clearColor].CGColor];
[self setNeedsDisplay];
}
选择单元格时它会起作用,但取消选择时id不起作用。 我可以看到两个电话的日志。
如何删除此边框?
提前谢谢
答案 0 :(得分:0)
您是否尝试过添加子图层,并在isNotSelected上删除它?
答案 1 :(得分:0)
我是这样做的(在didSelect和didDeselect委托方法中调用这些方法):
- (void)isSelected{
[self.layer setBorderColor:[UIColor colorWithRed:213.0/255.0f green:210.0/255.0f blue:199.0/255.0f alpha:1.0f].CGColor];
[self.layer setBorderWidth:1.0f];
[self.layer setCornerRadius:9.5f];
}
- (void)isNotSelected{
[self setNeedsDisplay];
}
- (void)drawRect:(CGRect)rect
{
[self.layer setBorderColor:[UIColor clearColor].CGColor];
[self.layer setBorderWidth:1.0f];
[self.layer setCornerRadius:9.5f];
[self.imageView setImageWithURL:[NSURL URLWithString:self.imgUrl] placeholderImage:[UIImage imageNamed:@"placeholder-avatar"]];
}
我真的不知道为什么我的第一个解决方案无效...