ios - 使用自定义字体时,UITextView 属性文本不起作用
<p><p>我正在使用 <code>UITextView</code> 并通过代码设置其字体和属性文本。</p>
<p><strong>案例 1:</strong> <em>自定义字体 - 是</em>,<em>属性文本</em> - 否</p>
<p> <a href="/image/gRKU9.png" rel="noreferrer noopener nofollow"><img src="/image/gRKU9.png" alt="enter image description here"/></a> </p>
<p>textView 文本以自定义字体显示。</p>
<p>我想要带有自定义字体的属性文本,即 <strong>Message :</strong> 在这种情况下应该加粗。</p>
<p><strong>案例 2:</strong> <em>自定义字体 - 是</em>,<em>属性文本</em> - 是</p>
<p> <a href="/image/cxM8P.png" rel="noreferrer noopener nofollow"><img src="/image/cxM8P.png" alt="enter image description here"/></a> </p>
<p>只有属性文本(粗体文本)以自定义字体显示。</p>
<p>我的代码是:</p>
<pre><code>- (void)loadTextView
{
_textView.text=NSLocalizedString(@"more_info_text",nil);
_textView.font=;
NSRange rangeBold= ;
NSRange rangeBold2 = ;
NSRange rangeBold3 = ;
UIFont *fontText = ;
NSDictionary *dictBoldText = ;
NSMutableAttributedString *mutAttrTextViewString = [ initWithString:_textView.text];
;
;
;
;
_textView.editable=NO;
_textView.selectable=NO;
}
- (UIFont *)boldFontWithFont:(UIFont *)font
{
UIFontDescriptor * fontD = [font.fontDescriptor
fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold];
return ;
}
</code></pre>
<p>当我评论 <code>setAttributedText:mutAttrTextViewString</code> 行时,evrything 会以自定义字体显示。当我取消注释时,只有属性文本以自定义字体显示,其余以默认字体显示。</p>
<p>为什么会这样?如果这不可能,我正在考虑将 html 内容作为属性文本包含在内,但我想在最坏的情况下将其视为一个选项。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>有一个相关问题<a href="https://stackoverflow.com/questions/36064762/change-font-size-without-change-uitextview-attributedtext" rel="noreferrer noopener nofollow">here</a> .<br/>
主要问题是 <code>UITextView</code> 的 <code>font</code> (<code>UIFont</code>) 属性将应用于其 <code>text</code> (<code>NSString</code>) 属性(也称为“纯文本”)而不是 <code>attributedText</code> (<code>NSAttributedString</code>)。</p>
<p>所以你必须自己为你的 <code>NSAttributedString</code> 应用“正常”字体效果。</p>
<p>所以只需替换:</p>
<pre><code>NSMutableAttributedString *mutAttrTextViewString = [ initWithString:_textView.text];
</code></pre>
<p>与:</p>
<pre><code>NSMutableAttributedString *mutAttrTextViewString = [ initWithString:_textView.text attributes:@{NSFontAttributeName:}];
</code></pre></p>
<p style="font-size: 20px;">关于ios - 使用自定义字体时,UITextView 属性文本不起作用,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/37120535/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/37120535/
</a>
</p>
页:
[1]