在我的应用程序中,我有一个按钮,用户可以为某些标签切换字体样式(System Font或Bradley Hand)。我设法使用NSUserDefaults保存/加载变量。
在故事板上,标签默认具有BradleyHand(以及wChR / wChC / wRhC尺寸类别变体)。
我的viewWillAppear方法如下:
- (void)viewWillAppear:(BOOL)animated {
userDefaults = [NSUserDefaults standardUserDefaults];
NSInteger useScriptFont = [userDefaults integerForKey:@"useScriptFont"];
if(useScriptFont == 0){ //0: switch to system font instead of bradley
NSLog(@"Font changed");
CGFloat fontSize = myLabel.font.pointSize;
[myLabel setFont: [UIFont systemFontOfSize:fontSize]];
}
else{
NSLog(@"No font change");
}
}
当我运行应用程序时,它确实进入IF状态,但字体样式没有改变。
我做错了什么?请指教。
答案 0 :(得分:-3)
它可能有用
if(useScriptFont == 0){ //0: switch to system font instead of bradley
NSLog(@"Font changed");
dispatch_async(dispatch_get_main_queue(), ^{
CGFloat fontSize = myLabel.font.pointSize;
[myLabel setFont: [UIFont systemFontOfSize:fontSize]];
});
}