因此,当我使用文本设置为Plain的UILabel时,自定义字体在应用程序和IB中正确显示,但是当我将其设置为属性时,它在IB中看起来很好但不在应用程序中。
我以编程方式在任何地方使用自定义字体和属性字符串,它工作得很好。
我已经通过字体书在我的mac上安装了字体,并且我已经通过在info.plist和构建阶段的copy resources部分中设置了适当的属性将字体安装到我的应用程序中。我也使用Xcode 6.1.1
我已经包含sample project来解释我的问题
这里是IB中设置的XIB中标签的HTML。正如您所看到的,它已设置为自定义字体。
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO"
translatesAutoresizingMaskIntoConstraints="NO" id="kpn-Ch-m1y">
<rect key="frame" x="20" y="84" width="560" height="100" />
<constraints>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="100" id="tyA-gf-Vjj" />
</constraints>
<attributedString key="attributedText">
<fragment content="the attack of the chicken lover">
<attributes>
<font key="NSFont" size="11" name="HelveticaNeueLTStd-Cn" />
<font key="NSOriginalFont" size="11" name="HelveticaNeueLTStd-Cn" />
<paragraphStyle key="NSParagraphStyle" alignment="natural" lineBreakMode="wordWrapping" baseWritingDirection="natural" />
</attributes>
</fragment>
</attributedString>
<nil key="highlightedColor" />
<variation key="heightClass=compact" ambiguous="YES">
<rect key="frame" x="23" y="84" width="554" height="211" />
</variation>
<variation key="heightClass=compact-widthClass=compact" ambiguous="YES">
<rect key="frame" x="23" y="84" width="354" height="211" />
</variation>
</label>
&#13;
当你打印出在IB中设置了它的belongsString的叛徒标签的内容时会发生什么。正如你可以看到XIB之间发生的事情,它是一个浓缩的helvetica字体,它是应用程序中的一种,一个helvetica常规字体。
2015-02-25 17:35:09.726 FontTest[25984:360263] Helvetica Nueue Condensed{
NSColor = "UIDeviceWhiteColorSpace 0 1";
NSFont = "<UICTFont: 0x792604b0> font-family: \".HelveticaNeueInterface-Regular\"; font-weight: normal; font-style: normal; font-size: 14.00pt";
NSParagraphStyle = "Alignment 0, LineSpacing 0, ParagraphSpacing 0, ParagraphSpacingBefore 0, HeadIndent 0, TailIndent 0, FirstLineHeadIndent 0, LineHeight 0/0, LineHeightMultiple 0, LineBreakMode 4, Tabs (\n 28L,\n 56L,\n 84L,\n 112L,\n 140L,\n 168L,\n 196L,\n 224L,\n 252L,\n 280L,\n 308L,\n 336L\n), DefaultTabInterval 0, Blocks (null), Lists (null), BaseWritingDirection -1, HyphenationFactor 0, TighteningFactor 0, HeaderLevel 0";
}
(lldb)
&#13;
答案 0 :(得分:-1)
您在代码中设置的字体
NSDictionary *attributes = @{NSFontAttributeName: [UIFont fontWithName:@"HelveticaNeueLTStd-Cn" size:17]};
并在IB中将其更改为HelveticaNeueLTStd-Cn 17.0
是一样的。 请参阅屏幕截图。
我猜你还没有设置第一张图片中显示的字体。