ios app全局字体设置
2015-02-27 16:18
363 查看
方法一:
写一个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];
}
}
}
相关文章推荐
- iOS -- app全局字体设置
- iOS 通过AppDelegate设置全局变量【原创】
- ios app应用中在AppDelegate设置全局变量
- Android app全局字体设置
- ios中在AppDelegate设置全局变量
- IOS设置全局的导航图片和字体颜色
- android 开发 app全局字体的设置
- 设置Android app的字体不随系统全局字体大小的变动而变动
- ios AppDelegate设置全局变量
- Android app全局字体设置
- Android项目实战(二十三):仿QQ设置App全局字体大小
- Android开发之设置APP全局字体
- 设置Android app的字体不随系统全局字体大小的变动而变动
- iOS 下如何设置全局字体?
- IOS 为整个APP设置一个字体,但是不指定字体大小
- iOS 下如何设置全局字体?
- 转:设置Android app的字体不随系统全局字体大小的变动而变动
- 设置Swing的全局字体
- iOS 设置字体 自定义字体
- ios开发答疑录系列---Xcode 4 设置App版本号