1

我有一个字符串“WAKEFIELD - TRINITYIGINY - (3.15 英里)”,需要在 UILabel 中这样显示。这意味着 char 是从中间消耗的。

在此处输入图像描述

请注意,它应该是动态的,需要显示到 UITableViewCell 中。字符串长度不固定。很明显,它只是字符串。提前致谢

4

3 回答 3

4

UILabel 具有截断属性(lineBreakMode) http://developer.apple.com/library/ios/#documentation/uikit/reference/UILabel_Class/Reference/UILabel.html

如果将其设置为NSLineBreakByTruncatingMiddle它将在中间截断。

于 2012-11-20T07:57:09.090 回答
0

您还可以使用原始字符串中的组件[myString componentsSeparatedByString:@" - "],然后得到一个数组。然后,在单元格中创建三个具有不同字体的 UILabel 并设置lineBreakMode为第二个。如果你想用cellWidth创建这三个标签,你可能会创建你的cellWidth,你把你的第一个标签放在单元格的左边,第三个放在右边,中间可能还有一些地方。这是您的第二个标签的位置。您可以计算第一个和第三个标签的大小:

 CGSize labelSize = [label.text sizeWithFont:label.font constrainedToSize:maxPossibleSizeOfTheLabel];
于 2012-11-20T07:54:04.737 回答
0

使用lineBreakModeUILabel 的属性:

UILabel *label = ...
label.lineBreakMode = NSLineBreakByTruncatingMiddle;
于 2015-09-20T21:34:24.990 回答