UILabel文本的可见部分

Evg*_*eny 12 iphone uilabel

有没有办法在单词包装中获取文本的可见部分UILabel?我的意思是最后一个可见的角色?

我想制作两个标签围绕图像,并希望继续第二个标签上的第一个标签的矩形文本.

我知道[NSString sizeWithFont...]但有什么东西可以逆转[NSString stringVisibleInRect: withFont:...]吗?:-)

先感谢您.

小智 7

您可以使用类别来扩展NSString并创建您提到的方法

@interface NSString (visibleText)

- (NSString*)stringVisibleInRect:(CGRect)rect withFont:(UIFont*)font;

@end

@implementation NSString (visibleText)

- (NSString*)stringVisibleInRect:(CGRect)rect withFont:(UIFont*)font
{
    NSString *visibleString = @"";
    for (int i = 1; i <= self.length; i++)
    {
        NSString *testString = [self substringToIndex:i];
        CGSize stringSize = [testString sizeWithFont:font];
        if (stringSize.height > rect.size.height || stringSize.width > rect.size.width)
            break;

        visibleString = testString;
    }
    return visibleString;
}

@end
Run Code Online (Sandbox Code Playgroud)