方法一:
写一个UILabel(FontExtension)扩展
重写initWithFrame(手写代码必走方法)和awakeFromNib(xib必走方法)
当然UIButton、UITextView等控件都可以用这种方式
//
// UILabel+FontExtension.h
// FontSet
//
// Created by 张齐朴 on 15/1/27.
// Copyright © 2015年 张齐朴. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface UILabel (FontExtension)
@end
//
// UILabel+FontExtension.m
// FontSet
//
// Created by 张齐朴 on 15/1/27.
// Copyright © 2015年 张齐朴. All rights reserved.
//
#import "UILabel+FontExtension.h"
#define kGlobalFontFamilyName @"Snell Roundhand" // 全局字体名称
@implementation UILabel (FontExtension)
- (instancetype)initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame]) {
[self setGlobalFont];
}
return self;
}
- (void)awakeFromNib
{
[super awakeFromNib];
[self setGlobalFont];
}
- (void)setGlobalFont
{
[self setFont:[UIFont fontWithName:kGlobalFontFamilyName size:17]];
}
@end
方法二:
写一个基类(比如FontViewController)继承UIViewController
重写viewWillLayourtSubviews
- (void)viewWillLayoutSubviews
{
[self setFontFamily:@"Microsoft YaHei" forView:self.view andSubViews:YES];
}
// 遍历self.view 中所有的UILabel设置其字体
- (void)setFontFamily:(NSString*)fontFamily forView:(UIView*)view andSubViews:(BOOL)isSubViews
{
if ([view isKindOfClass:[UILabel class]])
{
UILabel *lbl = (UILabel *)view;
[lbl setFont:[UIFont fontWithName:fontFamily size:[[lbl font] pointSize]-2]];
}
if (isSubViews)
{
for (UIView *sview in view.subviews)
{
[self setFontFamily:fontFamily forView:sview andSubViews:YES];
}
}
}
写一个UILabel(FontExtension)扩展
重写initWithFrame(手写代码必走方法)和awakeFromNib(xib必走方法)
当然UIButton、UITextView等控件都可以用这种方式
//
// UILabel+FontExtension.h
// FontSet
//
// Created by 张齐朴 on 15/1/27.
// Copyright © 2015年 张齐朴. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface UILabel (FontExtension)
@end
//
// UILabel+FontExtension.m
// FontSet
//
// Created by 张齐朴 on 15/1/27.
// Copyright © 2015年 张齐朴. All rights reserved.
//
#import "UILabel+FontExtension.h"
#define kGlobalFontFamilyName @"Snell Roundhand" // 全局字体名称
@implementation UILabel (FontExtension)
- (instancetype)initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame]) {
[self setGlobalFont];
}
return self;
}
- (void)awakeFromNib
{
[super awakeFromNib];
[self setGlobalFont];
}
- (void)setGlobalFont
{
[self setFont:[UIFont fontWithName:kGlobalFontFamilyName size:17]];
}
@end
方法二:
写一个基类(比如FontViewController)继承UIViewController
重写viewWillLayourtSubviews
- (void)viewWillLayoutSubviews
{
[self setFontFamily:@"Microsoft YaHei" forView:self.view andSubViews:YES];
}
// 遍历self.view 中所有的UILabel设置其字体
- (void)setFontFamily:(NSString*)fontFamily forView:(UIView*)view andSubViews:(BOOL)isSubViews
{
if ([view isKindOfClass:[UILabel class]])
{
UILabel *lbl = (UILabel *)view;
[lbl setFont:[UIFont fontWithName:fontFamily size:[[lbl font] pointSize]-2]];
}
if (isSubViews)
{
for (UIView *sview in view.subviews)
{
[self setFontFamily:fontFamily forView:sview andSubViews:YES];
}
}
}