我正在寻找一种使用UILabel(或类似的东西)来显示以下内容的方法:

Tom:一些信息.

这就像在Facebook应用程序中显示"你在想什么?"信息.有人对如何处理这个问题有什么建议吗?

推荐答案

根据需要使用两个UILabel iBox,每个都有不同的格式(字体/ colored颜色 等)..根据第一个文本的结束位置,将第二个文本移到第一个文本上.您可以通过sizeWithFont:forWidth:lineBreakMode:

或者,可以将UILabel子类化,并在drawRect中自己绘制文本.如果这样做,只需添加一个实例变量,告诉您要以一种格式绘制多少字符串,然后以另一种格式绘制其余字符串.

更新:请参见下面@Akshay的回复.从iOS6开始,UILabel可以包含NSMutableAttributeString.当我写这篇文章时,这是不可用的.

Objective-c相关问答推荐

单例实例与类方法

Objective C中的简单字符串连接

自构建预编译头后文件已被修改

多个 WKWebView 之间的 Cookie 共享

Objective-C 和 Cocoa 有什么区别?

如何在 iPhone 应用程序的 UINavigationBar 中添加图像

NSPredicate 与整数比较

如果安装了应用程序,如何以编程方式判断?

如何在 XCode 4 中创建 dSYM 文件?

块引用作为Objective-C中的实例变量

如何删除 xcode 5 中的旧配置文件?

如何获得本地化的 Cancel、Done 等?

在 Objective-C/cocoa 中创建文件夹/目录

无法访问 dispatch_async 中的全局变量:变量不可赋值(缺少 _block 类型说明符)

iOS:如何将 UIViewAnimationCurve 转换为 UIViewAnimationOptions?

无法加载 xcode 项目,因为它已从另一个项目或工作区打开

检测 iOS 应用程序是否在调试器中运行

在我滚动之前,数据不会加载到 UITableView 中

检测平移手势结束

`[super viewDidLoad]` 约定