【问题标题】:How to append a UILabel to the end of text in another UILabel?如何将 UILabel 附加到另一个 UILabel 的文本末尾?
【发布时间】:2012-01-19 13:58:16
【问题描述】:

在我的项目中,每个 UITableViewCell 中都有一个 UILabel。 每个标签中的文本从 1 行到 2 或 3 行不等。 (我动态地获取每个文本。) 我想知道如何在 UILabel 中每个文本的末尾附加另一个 UILabel。

我找到了这个Q&A,但作者没有具体提到解决方案。 请让我分享您的方法和解决问题的方法。先谢谢各位了!^^

我想我应该补充一些信息。 例如,这些是 2 个标签。


这是放在 UITableView 中的测试标签,

UITableViewCell 01/20



这是另一个标签 01/19


您可以在每个文本旁边看到的那些日期(01/20、01/19)是我要附加的另一个标签。我不能直接将日期附加为字符串,因为普通文本和日期具有不同的颜色和样式。正如一些人告诉我的那样,我尝试了“sizeToFit”,但这只会显示整个文本的框架。我该怎么办T_T

【问题讨论】:

  • 或者是否可以在 UILabel 中的文本末尾附加一些字符串(文本)?新的字符串(文本)与 UILabel 的文本有不同的字体和颜色。
  • 正如链接中提到的那样,您可以尝试使用 UIWebView 而不是 UILabel 吗?
  • 感谢您的评论,然后,我应该制作一个像 .html 这样的网页并在 UIWebView 中调用它吗?是你的意思吗?
  • 不,只是让你的标签字符串看起来像 NSString *html = @"<div>some text<br />some more text <img src='my.png' /></div>" 并用 [webview loadHTMLString:html baseURL:nil]; 调用它。
  • 非常感谢'ott--'!!多亏了你的帮助,我才能做到!很遗憾,我无法将您的答案作为我接受的答案。

标签: iphone objective-c uilabel append end-of-line


【解决方案1】:

作为一个变体:

UILabel *someLabel = ...
[someLabel setText:...]
[someLabel sizeToFit]

然后计算新插入UILabel的坐标。

【讨论】:

  • 好的,谢谢你的回答,我明白你的解释。其实我是一个入门者,所以我希望你能告诉我更多细节..
  • sizeToFit 只让我知道文本的整个框架......它没有检测到文本结束的确切位置(位置)。
【解决方案2】:
[firstLabel sizeToFit];
CGRect frameForSecondLabel = CGRectMake(firstLabel.frame.origin.x+firstLabel.frame.size.width, firstLabel.frame.origin.y,width,height);
UILabel *secondLabel = [[UILabel alloc] initWithFrame:frameForSecondLabel];

我希望这就是你要找的东西

【讨论】:

  • 感谢您的回答,但我认为这对我来说不是确切的答案。我更新了我的问题,所以请再次阅读我的问题...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多