我们有这个函数:
CGSize size = [cell.textLabel.text sizeWithFont:cell.textLabel.font constrainedToSize:CGSizeMake(cellWidth, FLT_MAX)];我们可以反转使用它吗?我想要看到文本,它可以是这个大小与我的字体。你有什么想法吗?
发布于 2011-12-16 16:52:39
我找到了很好的解决方案:
- (NSString*)stringVisibleInRect:(CGRect)rect inString:(NSString *)string {
NSArray *words = [string componentsSeparatedByString:@" "];
NSString *testString = [[NSString alloc] init];
NSString *visibleString = @"";
for (int i = 0; i < [words count] && [words count] > 0; i++)
{
NSString *newString = (NSString *)[words objectAtIndex:i];
testString =[testString stringByAppendingFormat:@"%@ ",newString];
CGSize maximumSize = CGSizeMake(rect.size.width, 9999);
CGSize stringSize = [testString sizeWithFont:font
constrainedToSize:maximumSize
lineBreakMode:UILineBreakModeWordWrap];
if (stringSize.height > rect.size.height) // || stringSize.width > rect.size.width)
break;
visibleString = testString;
}
words = nil;
return visibleString;
}发布于 2011-12-16 01:16:57
你是说像CTFramesetterSuggestFrameSizeWithConstraints那样?在某些约束的情况下,它可以用来使文本范围可见。
https://stackoverflow.com/questions/8523653
复制相似问题