如果我只知道一个未知字符串的最大字符数,而不知道确切的字符串,我如何找到它的CGSize呢?
我知道您可以在NSString上使用"sizeWithFont“方法计算特定NSString的大小,如下所示:
UIFont * font = [UIFont systemFontOfSize:15];
CGSize stringSize = [aString sizeWithFont:font];
CGFloat width = stringSize.width;但我正在寻找一种方法,当你不知道确切的字符串,而只知道字符串可能包含的字符数时。
发布于 2013-07-03 21:29:50
只有当您不知道字符串的确切字符时,才能估计CGSize。最坏的估计可能是用"M“或"W”字符填充整个字符串,因为我认为这应该是大多数字体中最宽的字符:
int charCount = 10;
NSString *testString = @"";
for (int i = 0; i < charCount; i++) {
testString = [testString stringByAppendingString:@"M"];
}您还可以通过添加"i"-chars来估计最好的情况。你应该做大量的测试来找到在大多数情况下效果最好的字符。
发布于 2013-07-03 21:29:47
我不认为会有办法。
为什么需要传递字符串?
解决此问题的方法
UIFont * font = UIFont systemFontOfSize:15;CGSize stringSize =@“W”sizeWithFont:font;// 5次'W‘CGFloat width = stringSize.width;
现在您将获得最大宽度概率,它允许所有其他字符串概率。
这只是一个变通办法,我不认为iOS SDK中有确切的解决方案。
https://stackoverflow.com/questions/17445582
复制相似问题