如果我有字符串“生活是美好的”。现在我需要从适合宽度 40 的字符串中提取一些单词。如何从目标 C 中实现这一点?
问问题
221 次
2 回答
1
您可以sizeWithFont:
在循环中使用该方法,如下所示:
NSString *longestFitting = nil;
NSString *orig = "Life is Good";
UIFont *font = ...;
for (int i = orig.length-1 ; i > 1 ; i--) {
NSString *tmp = [orig substringToIndex:i];
if ([tmp sizeWithFont:font].width <= 40) {
longestFitting = tmp;
break;
}
}
于 2012-07-18T11:46:49.800 回答
1
您的答案是正确的,但要准确地适合 40 我已将 <= 更正为 == 所以新代码将是
NSString *longestFitting = nil;
NSString *orig = "Life is Good";
UIFont *font = ...;
for (int i = orig.length-1 ; i > 1 ; i--)
{
NSString *tmp = [orig substringToIndex:i];
if ([tmp sizeWithFont:font].width == 40)
{
longestFitting = tmp;
break;
}
}
于 2012-07-18T12:14:22.450 回答