当前位置 博文首页 > xixi:iOS UIButton 渐变色、边框渐变色、字体渐变色

    xixi:iOS UIButton 渐变色、边框渐变色、字体渐变色

    作者:[db:作者] 时间:2021-07-29 15:46

    需求:
    1、UIButton 的背景需要渐变色
    2、UIButton 的边框需要渐变色,背景是白色,字体也需要渐变色

    在这里插入图片描述

    在这里插入图片描述

    需求一 : UIButton 的背景需要渐变色:
    思路:
    我们可以利用 CAGradientLayer 来做渐变色
    然而我不是直接套在UIButton 的layer 上面进行操作。
    我是
    1、 首先创建一个临时的 UIView
    2、 然后利用 CAGradientLayerUIView 上面进行渐变绘制
    3、将UIView 进行截图返回 UIImage
    4、将返回的 UIImage 设置到 UIButtonsetBackgroundImage

    这样就可以完成了一个UIButton 的渐变色 绘制,并且可以根据不用的颜色来设置Button UIControlStateNormal | UIControlStateHighlighted | UIControlStateDisabled 来进行设置效果。

    需求二 :UIButton 的边框需要渐变色,背景是白色,字体也需要渐变色
    其实 边框渐变色我们可以套用 上面的做法,只不过我们需要在已经绘制好有渐变色的UIView 上面盖多一个白色的 UIView 比 上面那个UIView 小一个像素 即可,
    然后 字体的颜色 我使用了 + (UIColor *)colorWithPatternImage:(UIImage *)image 这个方法来来处理。然而传入的图片就是 上面得到的渐变色(或许根据UI 的色值来处理)

    cs