美文网首页
ios 文字外描边效果

ios 文字外描边效果

作者: 卡卡罗忒 | 来源:发表于2020-01-08 18:13 被阅读0次

设计提出文字描边效果,但是富文本自带的文字描边效果,是向文字内外同时描边 效果


image.png
image.png
image.png

所以需要自己实现,采用的方法是重写textlayer的drawRect,label也一样
思路是先画一层带描边效果的文字
然后再在这层文字上面画不带描边的文字,将没描边的文字压在描边文字上面,代码如下

public override func draw(in ctx: CGContext) {
        guard let attr = self.string as? NSAttributedString else {
            super.draw(in: ctx)
            return
        }
        var newAtt = NSAttributedString.init(attributedString: attr)
        newAtt = newAtt.appendAddAttributes([NSAttributedString.Key.strokeColor : self.strokeColor.cgColor])
        newAtt = newAtt.appendAddAttributes([NSAttributedString.Key.foregroundColor : UIColor.red.cgColor])
        newAtt = newAtt.appendAddAttributes([NSAttributedString.Key.strokeWidth : 15])
        self.string = newAtt
        super.draw(in: ctx)
        self.string = attr
        super.draw(in: ctx)
    }

但是实际效果是,第二次画的效果是上下颠倒的,效果如下


ios 文字外描边效果

查了下是cgcontext的坐标系与UIkIt的坐标系是相反的,相当于一个二维笛卡尔坐标系的第一象限


7790818-61fc7b4c75fe00b6.png

所以将contex上下翻转

        super.draw(in: ctx)
        ctx.scaleBy(x: 1, y: -1)
        ctx.translateBy(x: 0, y: -self.gxHeight)

效果就对了,

相关文章

  • ios 文字外描边效果

    设计提出文字描边效果,但是富文本自带的文字描边效果,是向文字内外同时描边 效果 所以需要自己实现,采用的方法是重写...

  • ios 文字外描边实现

    自定义UIlabel来实现。 在.h文件中添加属性 #import NS_ASSUME_NONNULL_BEGIN...

  • 文字描边效果

    简单描边 渐变描边 主要是用到背景渐变的样式。 SVG多彩描边效果 SVG动画霓虹灯效果

  • PS: 图层样式对文字的实际应用

    一、描边制作立体文字 ctrl+j(副本效果描边)→左击效果→创建图层→移到原文字下方(隐藏副本)→效果图层向下/...

  • ios开发文字内描边效果

    实现了外描边效果之后,产品问内描边好做吗,我说简单!简单个蛋! 因为苹果本身的描边效果,是双向描边,不是单侧的,见...

  • 使用CSS给文字添加描边效果

    CSS如何实现文字描边效果?下面本篇文章就来给大家介绍一下使用CSS给文字添加描边效果的方法,希望对大家有所帮助。...

  • 文字描边

  • 文字描边

    效果: 描边完成了,喜欢就留个小❤️吧

  • 【iOS UI篇】Label描边+发光字

    本文介绍如何给Label实现酷炫的描边+外发光效果,虽然实现简单,但是网上资料却是很少。 绘制实现描边 继承Lab...

  • ios lable字体描边+外发光

    继承label的一个类,实现 使用方法

网友评论

      本文标题:ios 文字外描边效果

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