iOS UICollectionViewCell 边框多一条线

释放双眼,带上耳机,听听看~!

直接上图,红圈内多出来的一条诡异的黑线

并不是每个Cell都会有,也不是每次都会出现

诡异的黑线.png

到现在也还没有找到问题到底出在哪里
公司项目紧,搁置了好几天没去理会

- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
_label = [[UILabel alloc] initWithFrame:self.bounds];
_label.backgroundColor = [UIColor colorWithRed:0.94 green:0.94 blue:0.94 alpha:1.00];
_label.font = [UIFont systemFontOfSize:14];
_label.textAlignment = NSTextAlignmentCenter;
_label.textColor = [UIColor colorWithRed:0.33 green:0.33 blue:0.33 alpha:1.00];
[self.contentView addSubview:_label];
}
return self;
}

今天抽出来点时间研究了一下

- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
_label = [[UILabel alloc] initWithFrame:CGRectIntegral(self.bounds)];
_label.backgroundColor = [UIColor colorWithRed:0.94 green:0.94 blue:0.94 alpha:1.00];
_label.font = [UIFont systemFontOfSize:14];
_label.textAlignment = NSTextAlignmentCenter;
_label.textColor = [UIColor colorWithRed:0.33 green:0.33 blue:0.33 alpha:1.00];
[self.contentView addSubview:_label];
}
return self;
}
没有诡异的黑线.png

居然,解决了…

上代码

_label = [[UILabel alloc] initWithFrame:self.bounds];
_label = [[UILabel alloc] initWithFrame:CGRectIntegral(self.bounds)];

CGRectIntegral()
这个函数可以将小数类型的值转为整型

frame的数值为小数时,像素渲染到屏幕上时会产生奇怪的黑影,就是那条诡异的黑线产生的原因
CGRectIntegral() 将frame的值都转为整型时,这个问题就被解决了


小白总结,欢迎打脸指正

人已赞赏
iOS文章

iOS导航栏自定义view

2020-5-24 18:48:03

iOS文章

ios UIView的layoutSubviews和drawRect方法何时调用

2020-5-28 16:33:04

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索