閱讀之前,先來欣賞一張圖片
meng
1、言歸正傳,改變字號可以有兩種方法,一種是給UIFont添加分類,一種是給UILabel和UIButton添加分類,在UILabel加載的時候改變設置字號,下面就分別介紹這兩種方法的實現
1.1 首先介紹給UIFont添加分類的方法
The first step:創建UIFont的分類,如下圖
選擇Objective-c File
second:命名
命名為Setting
2、UIFont+Setting.h 下
創建一個方法
#import <UIKit/UIKit.h>
@interface UIFont (Setting)
// 設置字體的方法,代替系統的systemFontOfSize
+ (UIFont *)setFontWithSize:(CGFloat)size;
@end
UIFont+Setting.m下
#import "UIFont+Setting.h"
@implementation UIFont (Setting)
+ (UIFont *)setFontWithSize:(CGFloat)size{
// 取出存在本地的字號
CGFloat fontSize = [[NSUserDefaults standardUserDefaults] floatForKey:@"fontSize"];
CGFloat fontS = 2 * fontSize * size;
UIFont *myFont = [UIFont systemFontOfSize:fontS+size];
return myFont;
}
@end
3、在設置界面,創建一個滑動控制開關(UISlider)用于滑動控制字號
SettingViewController.h
#import <UIKit/UIKit.h>
@interface SettingViewController : UIViewController
@end
SettingViewController.m
#import "SettingViewController.h"
#import "UIFont+Setting.h"
@interface SettingViewController (){
UISlider *slider; // 滑動按鈕
UILabel * testLabel; // 測試label
}
@end
@implementation SettingViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
// 設置頁面的搭建
[self setupUI];
}
- (void)setupUI{
// 滑動按鈕的設置
slider = [[UISlider alloc] initWithFrame:CGRectMake(0, 100, self.view.frame.size.width, 30)];
[self.view addSubview:slider];
[slider addTarget:self action:@selector(valueChange) forControlEvents:UIControlEventValueChanged];
slider.value = [[NSUserDefaults standardUserDefaults] floatForKey:@"fontSize"];
// 測試字體的設置
testLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 150, [UIScreen mainScreen].bounds.size.width, 100)];
testLabel.text = @"這是測試字體";
testLabel.font = [UIFont setFontWithSize:10];
testLabel.textAlignment = NSTextAlignmentCenter;
testLabel.backgroundColor = [UIColor whiteColor];
[self.view addSubview:testLabel];
}
- (void)valueChange{
// 改變字號,將字號存在本地
[[NSUserDefaults standardUserDefaults] setFloat:slider.value forKey:@"fontSize"];
testLabel.font = [UIFont setFontWithSize:10];
button.titleLabel.font = [UIFont setFontWithSize:8];
// 這里其實可以用通知,本文就不介紹使用通知的方法了,
// [[NSNotificationCenter defaultCenter] postNotificationName:@"changeFont" object:nil];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
@end
3.1 如圖,設置頁面的效果圖如下
設置頁面的效果圖
滑動調節按鈕即可調節字體大小,下圖為字號最大時,其他頁面的效果圖,至此,用給UIFont添加分類的方法,實現全局調節字號即可實現了
主頁的效果圖
接下來還有一種全局改變字號的方法,將在下一篇文章中介紹
iOS 全局改變字號(二)http://www.lxweimin.com/p/9f7ebb232bef