码迷,mamicode.com
首页 > 其他好文 > 详细

CALayer 绘制边框线不能被遮挡

时间:2019-11-21 11:51:32      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:err   mic   部分   style   png   order   idt   more   一个   

一般我们在布局视图时遵从一个原则: 后加的先显示。

下面简述下我遇到的问题:图片未能盖住背景视图的边框,边框使用的是CALayer绘制,但其余部分都能遮盖住,难道CALayer不能被遮挡?

 

技术图片

 

实现代码如下:

self.bgView = [[UIView alloc]init];
    self.bgView.layer.cornerRadius = 5.0;
    [self.bgView borderWidth:1 andBorderColor:CC_ICOME(@"#B8D2FF6B")];
    self.bgView.backgroundColor = CC_ICOME(@"F8FBFF8F");
    [self.contentView addSubview:self.bgView];
    [self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(self.contentView.mas_top);
        make.left.equalTo(self.contentView.mas_left).offset(10);
        make.right.equalTo(self.contentView.mas_right).offset(-10);
        make.bottom.equalTo(self.moreImage.mas_top);
    }];
    
    
    [self.bgView addSubview:self.leftImage];
    [self.leftImage mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(self.bgView).offset(-2);
        make.top.equalTo(self.bgView.mas_top).offset(9);
        make.height.mas_equalTo(22);
        make.width.mas_equalTo(6);
    }];

先看修改后效果:线被完美遮当

技术图片

 

实现代码如下:

self.bgView = [[UIView alloc]init];
    self.bgView.layer.cornerRadius = 5.0;
    [self.bgView borderWidth:1 andBorderColor:CC_ICOME(@"#B8D2FF6B")];
    self.bgView.backgroundColor = CC_ICOME(@"F8FBFF8F");
    [self.contentView addSubview:self.bgView];
    [self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(self.contentView.mas_top);
        make.left.equalTo(self.contentView.mas_left).offset(10);
        make.right.equalTo(self.contentView.mas_right).offset(-10);
        make.bottom.equalTo(self.moreImage.mas_top);
    }];
    
    
    [self.contentView addSubview:self.leftImage];
    [self.leftImage mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(self.bgView).offset(-2);
        make.top.equalTo(self.bgView.mas_top).offset(9);
        make.height.mas_equalTo(22);
        make.width.mas_equalTo(6);
    }];

 

综上所述:后加的先显示,针对CALayer来说,必须是在同一个等级

 

CALayer 绘制边框线不能被遮挡

标签:err   mic   部分   style   png   order   idt   more   一个   

原文地址:https://www.cnblogs.com/lijianyi/p/11904236.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!