方法1:一次改变,利用Runtime进行处理,对UILabel写一个Category

方法2:动态改变,当设置字体后,当前已创建的均需要改变,通知

//
//  UILabel+ChangeFont.m
//  ChangeFont
//
//  Created by Danale on 2018/7/28.
//  Copyright © 2018年 wjy. All rights reserved.
//#import "UILabel+ChangeFont.h"
#import <objc/runtime.h>
NSString * const FONT_NAME_KEY = @"wadefsdgrfhtdgjyfhkgl";
@implementation UILabel (ChangeFont)
/****************************************       动态改变        *****************************************/
-(instancetype)init
{if (self = [super init]) {[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(changeFont) name:FONT_NAME_KEY object:nil];}return self;
}
-(void)changeFont
{NSString * currentFont = [[NSUserDefaults standardUserDefaults]objectForKey:FONT_NAME_KEY];self.font = [UIFont fontWithName:currentFont size:50];
}
- (void)awakeFromNib
{[super awakeFromNib];[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(changeFont) name:FONT_NAME_KEY object:nil];
}/****************************************       1次改变       *****************************************/
+(void)load
{static dispatch_once_t onceToken;dispatch_once(&onceToken, ^{SEL sysSel = @selector(willMoveToSuperview:);SEL mySel = @selector(myWillMoveToSuperView:);Method sysM = class_getInstanceMethod([self class], sysSel);Method myM = class_getInstanceMethod([self class], mySel);BOOL add = class_addMethod(self, sysSel, method_getImplementation(myM), method_getTypeEncoding(myM));if (add) {class_replaceMethod(self, mySel, method_getImplementation(sysM), method_getTypeEncoding(sysM));}else{method_exchangeImplementations(sysM, myM);}});
}
-(void)myWillMoveToSuperView:(UIView *)superView
{NSLog(@"superView----%@",superView.class);[self myWillMoveToSuperView:superView];NSString * currentFont = [[NSUserDefaults standardUserDefaults]objectForKey:FONT_NAME_KEY];if (self && currentFont.length) {self.font = [UIFont fontWithName:currentFont size:50];}
}
@end

iOS 动态改变字体相关推荐

  1. VUE中动态改变字体大小

    VUE中动态改变字体大小 父组件将自己的数据传递送给子组件展示,子组件监听click操作,emit发送出去,父组件监听通过emit发送的信息,改变控制字体大小的postFontSize,通过style ...

  2. 移动端-动态改变字体大小

    // 动态改变字体大小 function setRem() {var ui_w = 375;// 获取屏幕的宽度var clientWidth = document.documentElement.c ...

  3. android 动态改变字体大小

    /** 动态计算字体大小 *  * @param  WriteSize  默认字体大小50 * @param Texts 打印字符串List * @param WriteHeight 打印区域高度 * ...

  4. iOS 动态改变应用图标

    整这东西整了一晚上,国内关于技术的文章实在是太不严谨了,小细节导致我走了很多弯路,最后在国外网站上找到的正确答案 参阅 https://www.hackingwithswift.com/example ...

  5. FastReport动态改变字体颜色

    项目场景: 客户配置了彩色打印机,要求打印护士排班表时,支持班次颜色这个字段的彩打 问题描述: 颜色不是固定的,是程序里面动态配置的 解决方案: 处理打印数据源的时候,需要将颜色值作为变量,动态的转为 ...

  6. ireport+Jasper 动态改变字体大小

     拿到需求,直接干,遇到不会的就百度,复制粘贴绩效拉满! 废话不多说,直接贴代码!!!!!! 问题是:因为一些地址长度不固定,格子是固定大小的,所以需要达到一定长度后,把字体变小点.... 1.jrx ...

  7. 【Android】动态获取当前背景图,根据背景图色动态改变字体颜色

    情况描述:市面上很多的App,在展示头部的时候会采用用户传输的图片进行高斯模糊处理,然后设置成背景,这上面再展示其他的信息,例如,姓名,签名,编辑之类的操作按钮. 问题:但是字体颜色你是设置为白色,还 ...

  8. Android动态改变TextView字体颜色

    Android动态改变TextView字体颜色 分类: Android 2012-06-04 21:56 141人阅读 评论(0) 收藏 举报 androidcolorslayout 必须在在res/ ...

  9. 代码动态改变 NGUI UILabel 的字体

    有一次因为 ttf 分成简体和繁体两个..所以就需要动态改变NGUI 中 UILabel 的字体,但是不知道 UILabel 保存字体的字段是哪个 网上搜到..在这里记录一下 1 using Unit ...

最新文章

  1. classloader resource
  2. linux PCB数组,Linux中的系统IO函数
  3. ThreadPoolExecutor线程池,shutdown和shutdownNow关闭线程池方式对比,以及确保线程池能够彻底关闭的一种方式
  4. linux下安装python dlib依赖
  5. python12-并发编程
  6. Java把科学计数法转换为字符串
  7. ibm ilog mysql_开源纯C日志函数库iLOG3快速入门(八、如果你喜欢简单日志函数甚于日志函数库)...
  8. viewport就是这回事
  9. R2B fpga flow script
  10. 机器学习导论(二)-模型评估与选择
  11. .NET Core(.NET 6)控制台应用程序与MongoDB Atlas入门示例教程详解
  12. 蓝色学校网站模板_中小学网站源码_学校网站管理系统
  13. linux中安装无线网卡驱动
  14. 书评与摘抄《经济学原理》
  15. 程序员的小情诗,记录我们爱的轨迹
  16. The Sultan's Successors
  17. 微软Excel输入1.之后,小数点消失了
  18. 处理谷歌跨域不好使问题
  19. 【佛山】地铁2号线“海口站”改“张槎站”设7换乘站
  20. ROS-3DSLAM(二)lvi-sam项目认识

热门文章

  1. net+惠民线上诊疗系统 毕业设计-附源码161026
  2. win7 计算机设置命令,win7关机命令在哪里(附win7电脑键盘关机的操作方法)
  3. python使用linux命令复制文件示例
  4. maven管理的项目导入时pom报错
  5. HTML如何创建二级目录
  6. 打开同一个文件两次,第二次会报错出现debug assertion failed 的问题解决
  7. 微信、QQ、TIM等防撤回小软件
  8. jquery 回到顶部动画
  9. linux pushd 不起作用,Linux中的pushd和popd
  10. H5 微信公众号打开pdf文件的思考