2014-10-05 76 views
7

我正在尝试为使用大小类别的iphone和ipad布局添加2种不同的字体大小。它使用默认的系统字体很酷,但不适用于自定义字体(我在我的项目中使用PragmataPro)。如果我为wR hR添加第二个大小,那么字体在界面生成器中看起来是正确的(我甚至检查了xml),但是在模拟器和设备上,它变成了System而不是PragmataPro。但是如果我删除wR hR(或者其他尺寸的任何布局),则字体将正确显示。任何想法如何解决这个问题? 谢谢!在iOS中使用大小类别的自定义字体

+0

同样的问题在这里:http://stackoverflow.com/questions/26166737/custom-font-sizing-in-ios-8-size-classes-not-working-properly-w-custom-fonts – osrl 2015-01-13 23:53:57

回答

3

子类的UILabel和覆盖 “layoutSubviews” 方法等:

- (void)layoutSubviews 
{ 
[super layoutSubviews]; 
// Implement font logic depending on screen size 
    self.font = [UIFont fontWithName:@"CustomFont" size:self.font.pointSize]; 
} 
+0

这将工作,但我想知道为什么我不能在xib本身做同样的。 – 2015-04-02 12:20:48

+0

检查此... http://stackoverflow.com/questions/9090745/custom-font-in-a-storyboard – Shruti 2015-04-02 12:32:23

+2

我想你误解了这里的问题。问题是没有在xib/storyboard中使用自定义字体。问题是对不同大小的类使用不同大小的自定义字体。单个字体大小不会产生任何问题,除非您为不同的布局添加不同的字体大小。 – 2015-04-02 12:41:30

-1

'自定义' 是在那里为每个类型类定义一个单独的设置。 如果你没有定义一个你想要的所有变化的'自定义'库,那么我并不认为这有一个解决方案,主要是因为'定制'你的意思是一个单一组件的选择列表。 。