1

我有这样的一行:

-Image-这只是一个测试
 -图片-但我想知道如何
将两条线分开。什么
在这里做什么?

我能想到在 iPhone 上实现的最佳方法是:

UIImageViewUILabel1
             UILabel1
UILabel2

如果有更简单的方法可以使用 UI 元素来做到这一点 - 我全神贯注。否则,我试图找出文本在 UILabel1 中的结束位置,而无需使用 sizeWithFont 进行反复试验。

一种更复杂的方法是使用 sizeWithFont 以该字体大小查找每个字符的大小,然后将它们全部加在一起(找出 UILabel1 的第 1 行以及 Line2 上的换行的位置)。这感觉像是解决一个简单问题的艰难方法。有谁知道简单的方法吗?

4

2 回答 2

1

Perhaps this is not the answer you are looking for, but this sort of layout is easier done with a WebView.

From an efficiency point of view, UILabel text rendering is implemented via WebViews anyway.

This article by Craig Hockenberry suggests that trying to

use metrics and line breaking that [match] those used in UILabel’s implementation [...] is far from perfect

and also confirms that UILabels use WebViews under the hood (it's also easily seen in a Shark dump of a text-intensive app).

于 2009-04-16T14:15:01.157 回答
1

NSString s = @"第一行\n第二行\n最后一行";

于 2009-04-16T14:57:43.723 回答