且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

OpenSans字体不适用于iOS模拟器

更新时间:2023-01-05 19:47:44

修正它,这是因为这个小错误。

  self.itemPrice.font = [UIFont fontWithName:@OpenSans-Extraboldsize:13.0f]; 

Extrabold ,而不是 ExtraBold 。按照建议,我打开了字体查看器,它显示在 PostScript Name 下。



现在我已经使用 #define 来放置字体字符串名称,并在整个应用程序中使用以避免用户错误和字符串在我的代码。


I'd like to use the OpenSans font on a UILabel, but it's not showing up in the iOS simulator. All that appears is the default system font. I have:

1) Added files to project + selected to copy to app folder.

2) Added to Info.plist.

3) Xcode automatically added all fonts to my build phases folder.

4) Cleaned the project + built it again.

And it still doesn't show up! In my code, I have this:

self.itemPrice = [[UILabel alloc] initWithFrame:CGRectMake(230.0, 30.0, 75.0, 30.0)];
        self.itemPrice.adjustsFontSizeToFitWidth = YES;
        self.itemPrice.font = [UIFont fontWithName:@"OpenSans-ExtraBold" size:13.0f];
        self.itemPrice.textAlignment = NSTextAlignmentCenter;
        self.itemPrice.text = [NSString stringWithFormat:@"%@", [Formatters formatPrice:self.item.price]];
        [self.slidingDetailScrollView addSubview:self.itemPrice];

Anyone know what is causing this bizarre bug?

Fixed it, it was because of this minor error.

self.itemPrice.font = [UIFont fontWithName:@"OpenSans-Extrabold" size:13.0f];

Extrabold, not ExtraBold. I opened up Font Viewer, as recommended, and it showed that under PostScript Name.

I have now used #define's to place a font string name in there and use that throughout my application to avoid user error and literal strings in the middle of my code.