iOS 全局修改字体
#ifndef SwizzlingExchange_h #define SwizzlingExchange_h #import <objc/runtime.h>static inline void swizzling_exchangeMethod(Class clazz, SEL originalSelector, SEL swizzledSelector) {Method originalMethod = class_getInstanceMethod(clazz, originalSelector);Method swizzledMethod = class_getInstanceMethod(clazz, swizzledSelector);BOOL success = class_addMethod(clazz, originalSelector, method_getImplementation(swizzledMethod), method_getTypeEncoding(swizzledMethod));if (success) {class_replaceMethod(clazz, swizzledSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod));} else {method_exchangeImplementations(originalMethod, swizzledMethod);} }#endif /* SwizzlingExchange_h */
// // UILabel+ChangeFont.m // DFRomwe // // Created by 王卫亮 on 16/7/13. // Copyright © 2016年 heyan. All rights reserved. // #import "UILabel+ChangeFont.h" #import "SwizzlingExchange.h"#define kLableFont @"Snell Roundhand" // 测试字体,容易看出来有没有全改掉@implementation UILabel (ChangeFont)+(void)load {//只执行一次这个方法static dispatch_once_t onceToken;dispatch_once(&onceToken, ^{swizzling_exchangeMethod([self class], @selector(init), @selector(myInit));swizzling_exchangeMethod([self class], @selector(initWithFrame:), @selector(myInitWithFrame:));swizzling_exchangeMethod([self class], @selector(awakeFromNib), @selector(myAwakeFromNib));}); }- (instancetype)myInit {id __self = [self myInit];UIFont * font = [UIFont fontWithName:DefaultFont size: self.font.pointSize];if (font) {self.font = font;}return __self; }- (instancetype)myInitWithFrame:(CGRect)rect {id __self = [self myInitWithFrame: rect];UIFont * font = [UIFont fontWithName:DefaultFont size: self.font.pointSize];if (font) {self.font = font;}return __self; }- (void)myAwakeFromNib {[self myAwakeFromNib];UIFont * font = [UIFont fontWithName:DefaultFont size: self.font.pointSize];if (font) {self.font = font;} }@end
Button:
// // UIButton+ChangeFont.m // DFRomwe // // Created by 王卫亮 on 16/7/13. // Copyright © 2016年 heyan. All rights reserved. // #import "UIButton+ChangeFont.h" #import "SwizzlingExchange.h"#define kLableFont @"Snell Roundhand" // 测试字体,容易看出来有没有全改掉@implementation UIButton (ChangeFont)+(void)load {//只执行一次这个方法static dispatch_once_t onceToken;dispatch_once(&onceToken, ^{swizzling_exchangeMethod([self class], @selector(init), @selector(myInit));swizzling_exchangeMethod([self class], @selector(initWithFrame:), @selector(myInitWithFrame:));swizzling_exchangeMethod([self class], @selector(awakeFromNib), @selector(myAwakeFromNib));}); }- (instancetype)myInit {id __self = [self myInit];UIFont * font = [UIFont fontWithName:DefaultFont size: self.titleLabel.font.pointSize];if (font) {self.titleLabel.font = font;}return __self; }- (instancetype)myInitWithFrame:(CGRect)rect {id __self = [self myInitWithFrame:rect];UIFont * font = [UIFont fontWithName:DefaultFont size: self.titleLabel.font.pointSize];if (font) {self.titleLabel.font = font;}return __self; }- (void)myAwakeFromNib {[self myAwakeFromNib];UIFont * font = [UIFont fontWithName:DefaultFont size: self.titleLabel.font.pointSize];if (font) {self.titleLabel.font = font;} }@end
iOS 全局修改字体相关推荐
- vue全局修改字体样式(修改成苹方)
惯例:先看最终效果: 1.首先你要先下载你需要的字体(这里以苹方为例) 2.在你的项目 src 文件下创建一个文件夹 里面有两个文件, 一个是你需要的字体的文件,一个是 css 样式文件 3.其中 c ...
- Android全局修改字体大小,Android 仿微信全局字体大小调整
image 目录 一.前言 二.效果预览 三.实现步骤 1.自定义字体调整控件 2.滑动按钮改变当前页面预览字体大小 3.返回时,保存放大倍数并重启应用 4.初始化应用时配置字体放大倍数. 四.Dem ...
- uniapp全局修改字体
@font-face {font-family: uniicons;//字体src: url('/static/uni.ttf');//包路径 }
- iphone计算机怎么修改错误字体,终于能给iPhone修改字体了,无需越狱,仅限iOS12.4...
对于ios设备修改字体,是越狱用户的专享,不越狱想修改难如登天 让我们既不想越狱又想修改字体的小伙伴们很是恼火 那小编今天就在无数次试验后,分享一波iOS12.4系统不越狱修改字体的方法 请小伙伴们务 ...
- Android安卓进阶技巧之全局自定义字体的实现
前言 由于网上大部分教程在新版本系统中已经失效,特此记录. 一.修改TextView字体 假设现在有一个字体文件msyh.ttf:对于某个TextView来说,如果想修改它的字体,可以简单的使用如下代 ...
- Android 修改字体
如有转载,请申明: 转载至 http://blog.csdn.net/qq_35064774/article/details/52950652 TextView修改字体 Typeface typefa ...
- 有道云笔记如何修改全局默认字体样式
有道云笔记如何修改全局默认字体样式## 1.打开有道云笔记,点击头像 2.点击"设置"–"默认字体设置"
- 全局vue中修改字体样式 苹方字体 微软雅黑 亲测可用
1.下载所需要的字体,.ttf格式本文以(PingFang.ttf 为例) 底下将会附加苹果方体-简易黑体 PINGFANG MEDIUM.tff 可自行下载其他字体样式,全局引用,方便快捷. 2.在 ...
- 全局替换字体,开源库更方便!!!
序 在 Android 下使用自定义字体已经是一个比较常见的需求了,最近也做了个比较深入的研究. 那么按照惯例我又要出个一篇有关 Android 修改字体相关的文章,但是写下来发现内容还挺多的,所以我 ...
最新文章
- PCL点云分割(2)
- [渝粤教育] 西南科技大学 知识产权法学 在线考试复习资料
- 2015春浙江省二级c语言,2015-2015年浙江省高校计算机等级考试二级C试题.doc
- 【转载】解决telnet无法连接 Connection refused
- Ayoa:让思维导图更简单,在线使用 无需安装客户端
- python参考手册下载_Python中文手册【Word版 】
- 把计算机怎么连接手机的网络助手在哪里,怎么将手机网络通过USB共享给电脑
- python编程软件哪个好-推荐10 款最好的 Python IDE
- 先定个小目标,免费360度评价(评估)反馈系统上线,开放部分源码
- 在火狐3中安装google工具栏
- 用MySQL后电脑频繁蓝屏_电脑容易蓝屏怎么办_电脑突然开始频繁蓝屏修复方法-win7之家...
- Spring Cloud 学习笔记
- 【Tornado】| 扫码签到系统雏形及思路
- 亚马逊网络关联是什么
- 带通滤波器c5000汇编语言,基于SIW技术的高选择性带通滤波器的设计与实现
- 【Vue项目笔记心得】Swiper插件用于轮播图
- 如何在 Lightly 用 JavaScript 制作俄罗斯方块游戏
- 软件加密系统Themida应用程序保护指南(一):应用信息界面
- 100集华为HCIE安全培训视频教材整理 | 源NAT技术
- Windows cmd 命令行清空