【发布时间】:2016-09-02 06:27:07
【问题描述】:
我遇到了一个问题,我想将我添加到UICollectionViewCell 的徽章通知视图带到前面。我正在使用cell.layer.borderColor = [[UIColor redColor]CGColor];
为UICollectionViewCell 添加边框。但是当添加边框时,它会出现在徽章视图的顶部。
添加边框后:
我在子类UICollectionViewCell 中使用[self addSubview:self.badge];
将徽章视图添加到单元格中
我试过了,[self bringSubviewToFront:self.badge]; 和 self.badge.layer.zPosition = 1; 但没有帮助。我在 SO 上的类似帖子中找到了这些解决方案,但我认为我做错了什么。如果有人能指出这一点,我会很高兴。谢谢。
编辑
我根据建议做了一点改动,做了[self.contentView addSubview:self.badge];而不是[self addSubview:self.badge];。当我调试视图并检查所有视图层时,它确实在边框顶部显示了徽章,但在模拟器中并非如此。
【问题讨论】:
-
这是因为您将徽章添加到您正在应用边框的同一个视图中,只需添加另一个您应用边框的视图而不是在主视图中。
-
但是在这种情况下,bringSubviewToFront 应该仍然可以工作,对吧?
-
试试set
cell.layer.borderWidth,也许这对你的边框有帮助。 -
使用
bringSubviewToFront,您必须指向正确的视图。我认为在这种情况下,它应该是单元格的视图。
标签: ios objective-c uiview uicollectionview uicollectionviewcell