美文网首页iOS新手学习
iOS开发 -- view设置部分圆角

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

作者: 我是卖报的小行家 | 来源:发表于2021-01-09 08:15 被阅读0次

    在使用语法糖写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设置部分圆角

        本文链接:https://www.haomeiwen.com/subject/vkmfaktx.html