Gyp*_*psa 5 iphone objective-c nsstring
我们都知道我们可以根据文本计算标签或任何控件的高度.像这样:
NSString *text=@"fwfgwefgwefhwefhwoefhwoeifhoiwefhwoeifhwieofhweohfiweofowefhowefhoweifhweofhweofhweoihfweiofhiowefhweiofhwioefhweiofhiweofhweiofhweiofhweiofhweiofweoifiweofhweoifhiowefhoiwefhowewoefoiwehfoiwe";
labelsize=[text sizeWithFont:[UIFont systemFontOfSize:14] constrainedToSize:CGSizeMake(100, 2000.0)];
NSLog(@"labelsize.height%f",labelsize.height);
Run Code Online (Sandbox Code Playgroud)
现在假设我得到身高= 270.现在我只想要那个高度为200的文本.就像我的标签高度是200,我希望直到200高度文本进入标签,文本的其余部分应显示在另一个标签.所以我想问一下是否可以根据身高获得文字.
提前致谢!
CGFloat maxHeight = 500;
NSString *text = @"fwfgwefgwefhwefhwoefhwoeifhoiwefhwoeifhwieofhweohfiweofowefhowefhoweifhweofhweofhweoihfweiofhiowefhweiofhwioefhweiofhiweofhweiofhweiofhweiofhweiofweoifiweofhweoifhiowefhoiwefhowewoefoiwehfoiwe";
NSMutableString *tmpText = [[NSMutableString alloc] initWithString:text];
NSRange range = NSMakeRange([tmpText length] - 1, 1);
while ([text sizeWithFont:[UIFont systemFontOfSize:14] constrainedToSize:CGSizeMake(100, 2000.0)].height > maxHeight) {
[tmpText deleteCharactersInRange:range];
range.location--;
}
NSLog(@"result: %@", tmpText);
[tmpText release];
Run Code Online (Sandbox Code Playgroud)
我认为这可以完成这项工作。它尚未经过充分测试,但它可以工作。
| 归档时间: |
|
| 查看次数: |
201 次 |
| 最近记录: |