【问题标题】:Setting custom font in UITextView with attributed string使用属性字符串在 UITextView 中设置自定义字体
【发布时间】:2013-11-07 18:25:33
【问题描述】:

我有一个UITextView,其中包含一个通过情节提要配置的属性字符串。现在我想要应用自定义字体。我是通过代码来做的

textView.font = [UIFont fontWithName:kCustomFont size:textView.font.pointSize];

问题是字体会丢失所有属性。我该如何解决?

(适用于 iOS 5 及更高版本)

【问题讨论】:

  • 字体在很多方面都是一个问题。例如,在为 textView 设置字体后,您是否看到了默认字体?如果是,那么只有字体的概率。您需要在您的 Mac 中安装该字体并检查字体簿中的确切字体名称。字体安装后不会有相同的名称。所以也用这种方式检查一下。
  • 您应该在此处发布 kCustomFont 的值。

标签: ios


【解决方案1】:

您的 kCustomFont 中有什么?如果 FontName 错误,即使是单个字符,也会使用标准的 SystemFont。

【讨论】:

    【解决方案2】:

    你应该通过 NSMutableAttributedString 的属性来改变它。

    即使用类似的东西:

    NSMutableAttributedString *mutableString = [[NSMutableAttributedString alloc] initWithAttributedString:textView.text];
    NSDictionary *attrs = [NSDictionary dictionaryWithObjectsAndKeys:font, NSFontAttributeName, nil];
    [mutableSrting addAttributes:attrs range:NSMakeRange(0, [mutableString length])];
    textView.attributedText = mutableString;
    [mutableString release];
    

    【讨论】:

    • 哪一个,在哪一行?
    • @orak 你应该发布异常。但是,很可能您没有正确的字体名称。
    • textView.text = mutableString;由于未捕获的异常'NSInvalidArgumentException',在这一行异常触发终止应用程序,原因:'-[__NSCFConstantString pointSize]:无法识别的选择器发送到实例0x7068cc'
    • 不应该是textview.attributedText = mutableString吗?
    • 呃。看起来你是对的。我没有检查就写了代码。
    猜你喜欢
    • 2013-12-07
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    • 2015-01-19
    • 1970-01-01
    • 2014-10-13
    相关资源
    最近更新 更多