gpt4 book ai didi

objective-c - 更改控件使用的默认 systemFont

转载 作者:行者123 更新时间:2023-12-02 07:38:24 27 4
gpt4 key购买 nike

我有一个很大的应用程序,需要更改字体,但我不想触摸每个标签、文本字段等。如何访问 IB 和 [UIFont systemFontOfSize:x] 中使用的“systemFont”?

我已经尝试过这个:iOS 5: Curious about UIAppearance但这不是解决方案,因为我的应用程序中有不同的 FontSizes 和 Bold/Regular,我无法对其进行整体设置。

我可以通过 UIApplication 或 InfoPlist 中的某个地方设置它吗?

最佳答案

您可以为 UILabel、UITextField 和 UIButton 创建类别,并且可以在“awakeFromNib”方法中,您可以将字体名称更改为新字体并保持相同的大小。我在下面为 UILabel 类别添加了代码。您可以对 UITextField 和 UIButton 执行相同的操作。

@implementation UILabel (CustomFontLabel)

-(void)awakeFromNib{
[super awakeFromNib];
float size = [self.font pointSize];
NSString *stringfontstyle=self.font.fontName;
if([stringfontstyle rangeOfString:@"Bold"].location != NSNotFound) {
self.font = [UIFont fontWithName:@"MyCustomFont-Bold" size:size];
}
else if ([stringfontstyle rangeOfString:@"Italic"].location != NSNotFound) {
self.font = [UIFont fontWithName:@"MyCustomFont-Italic" size:size];
}
else if ([stringfontstyle rangeOfString:@"Medium"].location != NSNotFound) {
self.font = [UIFont fontWithName:@"MyCustomFont-Medium" size:size];
}
else {
self.font = [UIFont fontWithName:@"MyCustomFont" size:size];
}
}

@end

关于objective-c - 更改控件使用的默认 systemFont,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13798450/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com