iOS 镂空文字效果
注意:一定要继承于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 镂空文字效果相关推荐
- php镂空窗,镂空文字效果 视频画面变成镂空文字效果制作
今天要分享的效果呢就是,一个正常的视频画面哦,不直接全部显示,而是把画面制作成文字的效果,然后只有文字的部分才能看到视频画面的内容,怎么说呢,就是镂空文字的效果.感兴趣的可以接下去看完整篇教程学习一下 ...
- CSS图像填充文字(镂空文字效果 / 文字镂空效果)
先展示一下最终效果: 开始做 1. 搭建基本代码结构 <!DOCTYPE html> <html><head><meta charset="utf- ...
- 时尚的3D镂空文字效果实例教程
今天刚好在网上看到了时尚的3D文字效果,于是动手模仿设计了一下.下面给大家分享一下俺的劳动成果吧-- 从效果图可见,这文字的3D效果不仅仅是从阴影和渲染上下了点功夫,连字体上也同样使用了Sulliva ...
- iOS 特种label:镂空文字、类歌词进度显示文字
作者:霖溦 原文链接:http://www.jianshu.com/p/93592bdc99c6 前言 文字渐变是一种填充效果,就像KTV的歌词显示那样,可以做到单个文字颜色的渐变.关于这一效果的实现 ...
- 镂空文字、类歌词进度显示文字
Demo详见GitHub:JXTMarkLabel 镂空文字 - JXTHollowOutLabel 镂空文字效果的实现基于drawRect重绘,具体参考了两篇帖子: Drawing a path w ...
- PPT封面反转镂空文字
制作PPT封面转镂空文字效果,示例如下: 1.开始之前需要安装小顽简报插件,小顽简报 | AboutPPT导航 我下载的版本是最新版0.1.25,下载之后双击即可,安装完成后ppt工具栏即出现&quo ...
- iOS 渐变色 以及 镂空效果的实现(Mask的妙用)以及镂空文字的实现
实现起来也很简单,主要分3个步骤: 1.创建一个镂空的路径: UIBezierPath 有个原生的方法- (void)appendPath:(UIBezierPath *)bezierPath, 这个 ...
- HTML怎么制作镂空文字遮罩,用纯 CSS 实现镂空效果
背景被裁剪为文字的前景色.第一次是在 CSS-Tricks 看到的这个用法: 在 CSS-Tricks 网站上,这个玩意用得到处都是. 这样,做简单的图片背景镂空效果便不再困难了.关键代码只有几行. ...
- HTML怎么制作镂空文字遮罩,用纯CSS实现镂空效果的示例代码
近来研究了一下镂空效果. background-clip: text 背景被裁剪为文字的前景色.第一次是在 CSS-Tricks 看到的这个用法: 在 CSS-Tricks 网站上,这个玩意用得到处都 ...
最新文章
- 【特效】移入显示移出隐藏
- a*算法流程图_如何从0开始,搭建A/B test平台产品?
- pro c中varchar类型变量的arr函数是做什么用
- jqgrid学习(三)
- 中矿新生赛 H 璐神看岛屿【BFS/DFS求联通块/连通块区域在边界则此连通块无效】...
- AES加密的C语言实现
- 并发设计模式之Master-Worker模式
- 粒度计算机英语,An Overview of Granular Computing粒度计算研究综述
- 阿里云Kubernetes SpringCloud 实践进行时(5): 弹性服务与容错处理
- 计算机最新一区sci,人工智能容易发的SCI期刊_2019中科院jcr期刊分区_2019中科院最新分区...
- javascript特效
- 如何在一个月内高效地备考教师资格证?
- sam卡和sim卡区别_PSAM卡、SAM卡与SIM卡
- 深圳再当特区,引爆AI万亿市场;阿里·TTS语音合成模型;美团·AI数据库异常监测系统;面向后端开发者的CS课程;前沿论文 | ShowMeAI资讯日报
- 09——规范数据库设计
- android蓝牙浅析
- 过来人经验!工作五年以上的UI设计师都在干什么?
- 计算机windows7桌面管理,windows7桌面图标【管理要领】
- python 私有变量和函数
- 求分享~水声通信信号调制识别数据集