ビューに表示される NSString の一部を取得します。
または
指定された CGRect で表示できる NSString を取得します。
ビューに表示される文字列 (UIlabel、UITextFiled など) を返します。これは、文字列が大きく、ビューが文字列全体を表示するのに十分な長さではない場合に便利です。
だから私はコードを書いてここに追加しました。
//If you want the string displayed in any given rect, use the following code..
@implementation NSString (displayedString)
//font- font of the text to be displayed
//size - Size in which we are displaying the text
-(NSString *) displayedString:(CGSize)size font:(UIFont *)font
{
NSString *written = @"";
int i = 0;
int currentWidth = 0;
NSString *nextSetOfString = @"";
while (1)
{
NSRange range;
range.location = i;
range.length = 1;
NSString *nextChar = [self substringWithRange:range];
nextSetOfString = [nextSetOfString stringByAppendingString:nextChar];
CGSize requiredSize = [nextSetOfString sizeWithFont:font constrainedToSize:CGSizeMake(NSIntegerMax, NSIntegerMax)];
currentWidth = requiredSize.width;
if(size.width >= currentWidth && size.height >= requiredSize.height)
{
written = [written stringByAppendingString:nextChar];
}
else
{
break;
}
i++;
}
return written;
}
@end