iOS开发 -- view设置部分圆角

在使用语法糖写UI时候,设置view部分圆角(左上,右上),很可能会显示不出来,原因你知道吗?
先上代码

self.view1 = ({
        UIView * view = [[UIView alloc]init];
        view.backgroundColor = [UIColor redColor];
        view;
    });
    
    [self.view addSubview:self.view1];
    [self.view1 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.left.equalTo(self.view).offset(120);
        make.width.mas_equalTo(200);
        make.height.mas_equalTo(300);
        
    }];
//在此处一定要加个延迟操作,不然整个view是不会显示出来的
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:self.view1.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii:CGSizeMake(20, 20)];

        CAShapeLayer *layer1 = [[CAShapeLayer alloc]init];
        layer1.frame = self.view1.bounds;
        layer1.path = path.CGPath;
        self.view1.layer.mask = layer1;
    });

总结:使用语法糖编写UI时候,1.设置圆角时候一定不能写在糖里面,因为此时view还没有设置约束,2.设置圆角时候延迟加载。
最后粘上效果图


部分圆角图

你可能感兴趣的:(iOS开发 -- view设置部分圆角)