UILabel自定义字体仅适用于iOS7
我正在对UILabel自定义字体仅适用于iOS7,ios,objective-c,uilabel,uifont,Ios,Objective C,Uilabel,Uifont,我正在对UILabel进行子类化,以设置自定义字体,以便在我的应用程序中跨标题栏使用它。因此,我创建了一个继承自UILabel的HeaderLabel类,并添加了以下代码来设置字体: - (id)initWithCoder:(NSCoder *)coder { self = [super initWithCoder:coder]; if (self) { self.font = [UIFont fontWithName:@"fbTypoPas-Black"
UILabel
进行子类化,以设置自定义字体,以便在我的应用程序中跨标题栏使用它。因此,我创建了一个继承自UILabel
的HeaderLabel
类,并添加了以下代码来设置字体:
- (id)initWithCoder:(NSCoder *)coder {
self = [super initWithCoder:coder];
if (self) {
self.font = [UIFont fontWithName:@"fbTypoPas-Black" size:34];
self.textColor = [UIColor whiteColor];
}
return self;
}
我没有从IB
中引用任何标题标签
,只是设置了我想要的文本。
它在IOS
7上运行良好,IOS
6和5似乎不起作用
试试这样:
- (id)initWithCoder:(NSCoder *)coder {
self = [super initWithCoder:coder];
if (self) {
dispatch_async(dispatch_get_main_queue(), ^{
self.font = [UIFont fontWithName:@"fbTypoPas-Black" size:34];
self.textColor = [UIColor whiteColor];
});
}
return self;
}
在
-(void)awakeFromNib
中尝试,但不要忘记调用[super awakeFromNib]
在drawRect方法中添加font和textColor。没有任何效果,它只是消失了在if(self){}中添加一个断点,看看它是否在那里。它在断点中。我认为问题在于字体。。。我试着在ios 6中使用其他字体,它可以工作这里是字体,谢谢!谢谢如何将它们导入Xcode,如何将它们添加到info.plist,以及如何将它们命名为UIFonts?我已将字体复制到项目中,我可以在复制包参考资料部分中看到。在info.plist中,我创建了“应用程序提供的字体”条目作为数组,其中包含两个字符串项:FbTypoPas-Black.otf、FbTypoPas-Regular.otf,我创建的uifont对象如下:self.font=[UIFontWithName:@“FbTypoPas Black”大小:34];来自uilabel子类。提醒一下,它在ios 7上运行