【发布时间】:2013-05-26 14:43:12
【问题描述】:
我正在从数组中的多个字符串创建一个长字符串,如下所示:
oneString = @"First Line\n";
for (int i = 0; i < itemsToAdd.count; i ++){
oneString = [NSString stringWithFormat:@"%@ %@\n", oneString, stringToAdd];
}
这一切都很好,直到stringToAdd 足够长可以换行。如果您注意到%@ %@ 之间的空格,这就是缩进。我添加的大多数字符串都不会换行,但我正在尝试找出一种在第一行之后的每一行之前添加空格的方法。
我建立这个长字符串的原因是计算它的高度,以便根据该字符串的长度调整tableViewCell 的大小。 itemsToAdd 是一个可变大小的数组。有时是一行,有时是 15+ 项。
这是示例输出:
First Line
Item 1 is good
Item 2 is fine
Item 3 is long and it wraps so
it goes like this and it sucks
Item 4 is fine
【问题讨论】:
-
不是直接回答你的问题,但你为什么不直接使用 NSString 的方法 sizeWithFont 来计算文本渲染时的宽度和高度?您可以将宽度限制为小于您尝试添加的四个空格,它会告诉您缩进后的确切行数。喜欢这篇文章:stackoverflow.com/questions/4965809/…
-
我还漏掉了另一个循环。
First Line(非缩进部分)具有多个可能的值,例如Second Line,它们将具有可变数量的项目,就像First Line一样。所以这是一种打印数组 (A) 的数组 (B),其中 A 和 B 的长度都未知。 -
可能是 for (int i = 0; i
-
我正在简化我的循环,因为它们不是问题。唯一的问题是缩进。
标签: iphone ios objective-c ipad