ios - 关于Layer层问题,为什么 Debug View Hierarchy 下不是整个填充视图?

 mmmmGi_626 发布于 2022-11-01 08:32

我自定义了一个BWLabel,主要实现画三条边框,重写了draw方法
- (void)drawRect:(CGRect)rect {

CGRect frame = self.frame;

UIBezierPath *linePath = [UIBezierPath bezierPath];

[linePath moveToPoint:CGPointMake(0, 0)];
[linePath addLineToPoint:CGPointMake(frame.size.width, 0)];
[linePath addLineToPoint:CGPointMake(frame.size.width, frame.size.height)];
[linePath addLineToPoint:CGPointMake(0, frame.size.height)];

CAShapeLayer *lineLayer = [CAShapeLayer layer];
lineLayer.backgroundColor = [[UIColor whiteColor] CGColor];
lineLayer.lineWidth= self.lineWidth;
lineLayer.strokeColor = [self.strokeColor CGColor];
lineLayer.path = linePath.CGPath;
lineLayer.fillColor = [self.fillColor CGColor];

[self.layer addSublayer:lineLayer];

}

出于好奇,我使用 Debug View Hierarchy 去查看视图层次,发现,在 Debug View Hierarchy 上layer并不是整个填充Label。我之后又尝试用UILabel,设置背景色,也发现同样的问题,我很好奇,这是为什么?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有