【问题标题】:iOS - stringWithFormat change part of the text coloriOS - stringWithFormat 更改部分文本颜色
【发布时间】:2012-05-08 15:45:38
【问题描述】:

我正在为我的应用程序提取推文,我希望能够以某种方式和颜色格式化我的推文。例如,这里将是一条简单的推文...

"@somename This is a sample tweet from twitter. - 7 hours ago"

是否可以获取字符串的最后一部分,在本例中为“7 小时前”并更改字体/字体颜色?

我正在使用stringWithFormat: 以便以这种方式格式化:

tweet = [NSString stringWithFormat:@"%@%@", title, time];

但我不确定是否可以使用此代码更改 time 字体和颜色。

以前有人做过吗?

编辑

我已尝试使用 AliSoftware's OHAttributedLabel 进行此操作,但我使用的是 ARC,但这并不适合我。

是否有标准的“iOS”方式来实现这一点?也许使用NSAttributedString 可能?

【问题讨论】:

  • 我认为 stringWithFormat 用于创建一个新字符串,而不仅仅是一个字符串(整数、浮点数)。据我所知,这与风格无关。也许试试NSAttributedString
  • 我认为它适用于 ARC。或者您可以使用两个具有不同颜色文本的 UILabel。顺便说一句,我认为 NSAttributedString 应该与核心文本一起使用。 AliSoftware 的 OHAttributedLabel 也实现了核心文本。您必须在您的应用程序中导入 CoreText.framework。

标签: iphone ios xcode nsstring stringwithformat


【解决方案1】:

您可以使用核心文本。也许下面的问题会帮助你Is it possible to set different font in One UIlabel?

您必须在您的应用程序中导入 CoreText.framework

【讨论】:

  • 我已将 CoreText.framework 添加到我的应用程序中。我不想使用 Ali 的方式,必须有一个标准的 NSAttributeString 方式。我只是不知道如何构建代码。
  • UILabel,UITextView 不支持 NSAttributedStrin。你可以试试 UIWebView。
【解决方案2】:
【解决方案3】:

字体/字体颜色不是数据类型 NSString 的固有属性。您可以使用两个单独的 UILabel,或者创建一个小的 UIWebView 来格式化文本。

【讨论】:

    猜你喜欢
    • 2012-10-25
    • 1970-01-01
    • 2019-02-05
    • 2015-01-10
    • 1970-01-01
    • 1970-01-01
    • 2016-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多