我正在使用 UITableView 在我的 iOS 应用程序中显示一些数据。问题是,cell.textLabel.text
andcell.detailTextLabel.text
是可变的。例如,电话号码单元格可以是“Phone1”,也可以是“美国或加拿大的免费电话”。在第二种情况下,我想将字符串编辑为“美国或加拿大的免费电话”。所以我需要某种方法来获取一个字符串,确定它是否需要被剪切,如果需要就剪切它。
这是我到目前为止所拥有的:
NSString *stringToCut; // This would be inputted
NSString *newString; // This is the resultant string
int maxLength = 15; // The maximum length.
if ([stringToCut length] > maxLength)
{
//This is the problem: How do I find a space (" ") near the middle?
int half = [stringToCut length]/2;
int locationOfSpaceNearHalf = ???
newString = [stringToCut subStringFromIndex:locationOfSpaceNearHalf];
newString = [newString stringByAppendingFormat:@"\n"];
newString = [newstring stringByAppendingString:[stringToCut subStringFromIndex:locationofSpaceNearHalf+1]];
}
else
{
newString = stringToCut;
}
return newString;
我唯一能想到的就是做一个循环来生成所有空间的位置,然后找到离中途最近的那个。
更新
这是两张图片,第一张是我们不对文本进行任何格式化时的样子。第二个是如果有格式化会是什么样子。
或者有没有更好的方法来格式化文本?