注意:一定要继承于UILabel,如果继承于UIView的话镂空的效果出不来

#import <UIKit/UIKit.h>

@interface HollowOutLabel : UILabel

@end

=============================================================

#import "HollowOutLabel.h"

@implementation HollowOutLabel

{

NSString * _text;

UIFont * _font;

UIColor * _backgroundColor;

CGRect _frame;

}

#pragma mark - 重写对应的set方法

- (void)setText:(NSString *)text

{

_text = text;

}

- (void)setFont:(UIFont *)font

{

_font = font;

}

- (void)setBackgroundColor:(UIColor *)backgroundColor

{

_backgroundColor = backgroundColor;

}

//这个方法会出问题,因而重写置空

- (void)sizeToFit

{

}

- (instancetype)init//禁止使用此方法初始化

{

return nil;

}

- (instancetype)initWithFrame:(CGRect)frame

{

if (self = [super initWithFrame:frame]) {

_frame = frame;

}

return self;

}

#pragma mark - 绘制

- (void)drawRect:(CGRect)rect

{

CGContextRef context = UIGraphicsGetCurrentContext();

[self drawSubtractedText:_text inRect:_frame inContext:context];

}

- (void)drawSubtractedText:(NSString *)text inRect:(CGRect)rect inContext:(CGContextRef)context

{

//将当前图形状态推入堆栈

CGContextSaveGState(context);

//设置混合色

CGContextSetBlendMode(context, kCGBlendModeDestinationOut);

//label上面添加label

UILabel *label = [[UILabel alloc] initWithFrame:rect];

label.font = _font;

label.text = text;

label.textAlignment = NSTextAlignmentCenter;

label.backgroundColor = _backgroundColor;

[label.layer drawInContext:context];

//把堆栈顶部的状态弹出,返回到之前的图形状态

CGContextRestoreGState(context);

}

@end

iOS 镂空文字效果相关推荐

  1. php镂空窗,镂空文字效果 视频画面变成镂空文字效果制作

    今天要分享的效果呢就是,一个正常的视频画面哦,不直接全部显示,而是把画面制作成文字的效果,然后只有文字的部分才能看到视频画面的内容,怎么说呢,就是镂空文字的效果.感兴趣的可以接下去看完整篇教程学习一下 ...

  2. CSS图像填充文字(镂空文字效果 / 文字镂空效果)

    先展示一下最终效果: 开始做 1. 搭建基本代码结构 <!DOCTYPE html> <html><head><meta charset="utf- ...

  3. 时尚的3D镂空文字效果实例教程

    今天刚好在网上看到了时尚的3D文字效果,于是动手模仿设计了一下.下面给大家分享一下俺的劳动成果吧-- 从效果图可见,这文字的3D效果不仅仅是从阴影和渲染上下了点功夫,连字体上也同样使用了Sulliva ...

  4. iOS 特种label:镂空文字、类歌词进度显示文字

    作者:霖溦 原文链接:http://www.jianshu.com/p/93592bdc99c6 前言 文字渐变是一种填充效果,就像KTV的歌词显示那样,可以做到单个文字颜色的渐变.关于这一效果的实现 ...

  5. 镂空文字、类歌词进度显示文字

    Demo详见GitHub:JXTMarkLabel 镂空文字 - JXTHollowOutLabel 镂空文字效果的实现基于drawRect重绘,具体参考了两篇帖子: Drawing a path w ...

  6. PPT封面反转镂空文字

    制作PPT封面转镂空文字效果,示例如下: 1.开始之前需要安装小顽简报插件,小顽简报 | AboutPPT导航 我下载的版本是最新版0.1.25,下载之后双击即可,安装完成后ppt工具栏即出现&quo ...

  7. iOS 渐变色 以及 镂空效果的实现(Mask的妙用)以及镂空文字的实现

    实现起来也很简单,主要分3个步骤: 1.创建一个镂空的路径: UIBezierPath 有个原生的方法- (void)appendPath:(UIBezierPath *)bezierPath, 这个 ...

  8. HTML怎么制作镂空文字遮罩,用纯 CSS 实现镂空效果

    背景被裁剪为文字的前景色.第一次是在 CSS-Tricks 看到的这个用法: 在 CSS-Tricks 网站上,这个玩意用得到处都是. 这样,做简单的图片背景镂空效果便不再困难了.关键代码只有几行. ...

  9. HTML怎么制作镂空文字遮罩,用纯CSS实现镂空效果的示例代码

    近来研究了一下镂空效果. background-clip: text 背景被裁剪为文字的前景色.第一次是在 CSS-Tricks 看到的这个用法: 在 CSS-Tricks 网站上,这个玩意用得到处都 ...

最新文章

  1. 【特效】移入显示移出隐藏
  2. a*算法流程图_如何从0开始,搭建A/B test平台产品?
  3. pro c中varchar类型变量的arr函数是做什么用
  4. jqgrid学习(三)
  5. 中矿新生赛 H 璐神看岛屿【BFS/DFS求联通块/连通块区域在边界则此连通块无效】...
  6. AES加密的C语言实现
  7. 并发设计模式之Master-Worker模式
  8. 粒度计算机英语,An Overview of Granular Computing粒度计算研究综述
  9. 阿里云Kubernetes SpringCloud 实践进行时(5): 弹性服务与容错处理
  10. 计算机最新一区sci,人工智能容易发的SCI期刊_2019中科院jcr期刊分区_2019中科院最新分区...
  11. javascript特效
  12. 如何在一个月内高效地备考教师资格证?
  13. sam卡和sim卡区别_PSAM卡、SAM卡与SIM卡
  14. 深圳再当特区,引爆AI万亿市场;阿里·TTS语音合成模型;美团·AI数据库异常监测系统;面向后端开发者的CS课程;前沿论文 | ShowMeAI资讯日报
  15. 09——规范数据库设计
  16. android蓝牙浅析
  17. 过来人经验!工作五年以上的UI设计师都在干什么?
  18. 计算机windows7桌面管理,windows7桌面图标【管理要领】
  19. python 私有变量和函数
  20. 求分享~水声通信信号调制识别数据集

热门文章

  1. 通过链接打开公众号的方法
  2. 定制DataGridView快捷菜单ContextMenuStrip的关联事件
  3. 【组成原理-处理器】流水线技术
  4. ssm框架搭建详细步骤
  5. 试用期开除员工赔偿多少金额
  6. redis启动、获取密码及修改密码
  7. vb调用excel方法大全
  8. android studio复写方法,Android Studio 常用快捷键
  9. 键盘方法论: 在键盘前面,你就是钢琴师!
  10. 电子学会2022年3月青少年软件编程(图形化)等级考试试卷(四级)