使用完全相同的文字显示单个标签很容易,但是当您想要以粗体显示一个单词时会发生什么?
示例:
的所有依据属于我们。
答案 0 :(得分:7)
UILabel
本身无法在文本中绘制具有不同属性/字体的标签。但核心文本可以。您可以创建一个UILabel
的子类,它包装一个属性字符串并使用Core Text来绘制它。您可以从核心文本编程指南中的this sample code处理绘图:
// Build up your attributed string, then...
CTLineRef line = CTLineCreateWithAttributedString(attrString);
// Set text position and draw the line into the graphics context
CGContextSetTextPosition(context, 10.0, 10.0);
CTLineDraw(line, context);
CFRelease(line);
答案 1 :(得分:1)
不幸的是,目前这是不可能的。但是,您可以将UILabel子类化并包含此功能。
另一种可能性是使用UIWebView,但这需要使用HTML标记和loadHTML:方法。
答案 2 :(得分:1)
正如Evan Mulawski写的那样,UILabel不会得到你想要的东西。就此而言,UITextField和UITextView都不会。
另一种方法是将UIView子类化并编写一个-drawRect:方法来完成你想要的任务。你可以看一下
如果你不需要大量的换行和包装,那么你可以很容易地制作一些东西。
UIWebView可能会更快,但对于像样式标签这样简单的东西来说似乎有很多开销。