zoukankan      html  css  js  c++  java
  • Button UIImageVIew UIView UILabel 等控件设置一个圆角 或者多个

    给控件设置圆角平时大家用的最多应该是layer.cornerRadius这个属性吧  但是这个属性设置成功后是4个角都是圆角类型的;

     现在控制器里创建一个imageVIew

         UIImageView *imageView=[[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 50)];
        imageView.backgroundColor=[UIColor redColor];
        [self.view addSubview:imageView];
        

     在Healp.h 中 根据你的控件决定下边的红色字体的类型

    /*
     适用于label imageView view
      */
    +(void)viewBeizerRect:(CGRect)rect view:(UIView *)view  corner:(UIRectCorner)corner cornerRadii:(CGSize)radii;
    
    
    /*
     适用于button
     */
    +(void)ControlBeizerRect:(CGRect)rect Control:(UIControl *)Control  corner:(UIRectCorner)corner cornerRadii:(CGSize)radii;
    

    在 Healp.m 中

    /*
      适用于label imageView view
      */
    +(void)viewBeizerRect:(CGRect)rect view:(UIView *)view corner:(UIRectCorner)corner cornerRadii:(CGSize)radii{
        UIBezierPath  *maskPath= [UIBezierPath bezierPathWithRoundedRect:rect byRoundingCorners:corner cornerRadii:radii];
        CAShapeLayer *maskLayer = [CAShapeLayer layer];
        maskLayer.frame =view.bounds;
        maskLayer.path = maskPath.CGPath;
        view.layer.mask = maskLayer;
    }
    
    
    /*
     适用于button
      */
    +(void)ControlBeizerRect:(CGRect)rect Control:(UIControl *)Control  corner:(UIRectCorner)corner cornerRadii:(CGSize)radii{
        UIBezierPath  *maskPath= [UIBezierPath bezierPathWithRoundedRect:rect byRoundingCorners:corner cornerRadii:radii];
        CAShapeLayer *maskLayer = [CAShapeLayer layer];
        maskLayer.frame =Control.bounds;
        maskLayer.path = maskPath.CGPath;
        Control.layer.mask = maskLayer;
    }
    

     然后在控制器里调用 

     [Healp viewBeizerRect:imageView.bounds view:imageView corner:UIRectCornerBottomRight cornerRadii:CGSizeMake(20, 20)];//设置一个角
     [Healp viewBeizerRect:imageVIew.bounds view:imageView corner:UIRectCornerBottomRight|UIRectCornerBottomLeft cornerRadii:CGSizeMake(20, 20)];//设置多个角

    就可以了 

    设置圆角的属性

    typedef NS_OPTIONS(NSUInteger, UIRectCorner) {

        UIRectCornerTopLeft     = 1 << 0, 左上

        UIRectCornerTopRight    = 1 << 1,右上

        UIRectCornerBottomLeft  = 1 << 2,左下

        UIRectCornerBottomRight = 1 << 3,右下

        UIRectCornerAllCorners  = ~0UL 全角

    };

  • 相关阅读:
    用MobaXterm_Personal_12.0远程连接ubuntu虚拟机,并解决报错connection refused
    二叉树图解以及二叉树的递归原理
    Source Insight 4.0 安装使用简单粗暴教程
    VScode配置嵌入式linux开发环境,代替source insight
    linux系统下部署DNS正向解析
    【剑指Offer】面试题47. 礼物的最大价值
    【LeetCode】1371. 每个元音包含偶数次的最长子字符串
    【LeetCode】680. 验证回文字符串 Ⅱ
    【剑指Offer】面试题46. 把数字翻译成字符串
    【剑指Offer】面试题45. 把数组排成最小的数
  • 原文地址:https://www.cnblogs.com/Lrx-lizi/p/6882295.html
Copyright © 2011-2022 走看看