• Button倒角,单边角,多边角


     最近有个ui的同事抱怨说她公司的前段开发动不动就让她切个小图,理由是实现不了,像下面这种小功能:

    其实这也是按钮的倒圆角,并不难。上代码:

    .h

    #import <UIKit/UIKit.h>

     

    @interface YMBtnCorner : UIButton

     

    //左上角

    - (void)ym_rectCorner:(CGFloat)radius conrners:(UIRectCorner)corners;

     

    @end

    .m

    #import "YMBtnCorner.h"

     

    @implementation YMBtnCorner

     

    - (void)ym_rectCorner:(CGFloat)radius conrners:(UIRectCorner)corners

    {

        UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:corners cornerRadii:CGSizeMake(radius, radius)];

        

        CAShapeLayer *maskLayer = [CAShapeLayer layer];

        maskLayer.frame = self.bounds;

        maskLayer.path = maskPath.CGPath;

        

        self.layer.mask = maskLayer;

    }

     

    @end

    用法:

        //左上

        [self.topLeftCorner ym_rectCorner:10.0 conrners:UIRectCornerTopLeft];

        //左下

        [self.bottomLeftcorner ym_rectCorner:10 conrners:UIRectCornerBottomLeft];

        //右上

        [self.topRightCorner ym_rectCorner:10 conrners:UIRectCornerTopRight];

        //右下

        [self.bottomRightCorner ym_rectCorner:10 conrners:UIRectCornerBottomRight];

        //四个角

        [self.allCorner ym_rectCorner:10 conrners:UIRectCornerAllCorners];

        //左右上角

        [self.topLeftRightCorner ym_rectCorner:10 conrners:UIRectCornerTopRight | UIRectCornerTopLeft];

        //左右下角

        [self.bottomLeftRightCorner ym_rectCorner:10 conrners:UIRectCornerBottomRight | UIRectCornerBottomLeft];

        //左上右下

        [self.topLeftBottomRight ym_rectCorner:10 conrners:UIRectCornerTopLeft | UIRectCornerBottomRight];

        //左下右上

        [self.bottomLeftTopRight ym_rectCorner:10 conrners:UIRectCornerBottomLeft | UIRectCornerTopRight];

        //左边

        [self.leftCorner ym_rectCorner:10 conrners:UIRectCornerBottomLeft | UIRectCornerTopLeft];

        //右边

        [self.rightCorner ym_rectCorner:10 conrners:UIRectCornerBottomRight | UIRectCornerTopRight];

  • 相关阅读:
    Clojure实现的简单短网址服务(Compojure、Ring、Korma库演示样例)
    android4.4系统解决“ERRORcouldn&#39;t find native method”方法
    JS window.open()属性
    网页视频播放器代码大全 + 21个为您的站点和博客提供的免费视频播放器
    理解Java的GC日志
    图像识别技术
    堆排序原理及算法实现(最大堆)
    什么是依赖注入
    Cocos2d-x3.1下实现相似iOS页面滑动指示圆点
    [Bootstrap] 6. Navigation
  • 原文地址:https://www.cnblogs.com/ljj-Andrew-519/p/9118045.html
Copyright © 2020-2023  润新知