2

有谁知道是什么让 Apple 在将 AppKit 变成 UIKit 时遗漏了 NSAttributedString?

我问的原因是我真的很想在我的 iPhone 应用程序中使用它,而且除了自己做之外似乎没有替代或替代方法......

字符串上可能有混合字体属性——要实现类似的东西,用几行代码用 NSAttributedString 就可以实现。

此外,自己编写所有这些额外的绘图代码会使我的表格视图单元格非常沉重,并且确实会损害性能。

有人有什么想法吗?有任何天才正在研究 NSAttributedString 的开源替代品吗?

4

6 回答 6

11

NSAttributedString 现在在 iPhone 4.0 Beta 上

于 2010-04-14T17:26:00.210 回答
4

当前从文档推荐的方法是使用 UIWebView。

于 2009-04-08T16:41:23.137 回答
4

我不知道这是否仍然与您相关,但乔·休伊特同时发布了他的three20库,其中包含TTStyledTextTTStyledTextLabel满足您的需求。

于 2009-08-16T10:49:36.377 回答
3

恐怕您将不得不自己动手。如果您在绘制表格时陷入困境,我可能会切换到原始 Quartz 调用;尝试将所有绘图转储到一个视图中,并在其中绘制所有复杂的字符串。NSAttributedString 很方便,但我不认为它使用所有特殊的 AppKit-mojo 来获得比直接字符串绘制调用更好的性能。

于 2009-04-08T13:01:48.423 回答
2

上面的答案表明 NSAttributedString 在 OS 4.0 及更高版本上可用,但根据文档,它在 3.2 上可用:

NSAttributedString 类引用
继承自NSObject
符合NSCoding、NSCopying、NSMutableCopying、NSObject (NSObject)
框架/System/Library/Frameworks/Foundation.framework
可用性 适用于 iPhone OS 3.2 及更高版本。
配套指南属性字符串编程指南
NSAttributedString.h中声明

于 2010-04-24T18:37:01.683 回答
0

另一种方法是使用带有 HTML 的 UIWebView。或者,如果您敢于使用 UITextView 上未记录的 setHTML 方法来设置格式化文本的小片段...

对我来说,这似乎更像是支持格式化文本的未来,以某种方式利用 Webkit 输出格式化字符串。

于 2009-04-08T15:22:28.367 回答