【发布时间】:2015-05-30 07:42:33
【问题描述】:
我想从包含 2 行的标签文本中查找单词的位置和大小。
假设这是我的标签:
____________
| |
|This is the |
| |
|label |
|____________|
我想找到单词label 的框架,类似于{{0, 24}, {40, 24}},但使用
- (CGRect)getFrameOfString:(NSString *)substring fromString:(NSString *)string inLabel:(UILabel *)label {
NSRange range = [string rangeOfString:substring];
NSString *prefix = [string substringToIndex:range.location];
NSStringDrawingContext *stringDrawingContext = [[NSStringDrawingContext alloc] init];
stringDrawingContext.minimumScaleFactor = 0.5;
CGRect prefixFrame = [prefix boundingRectWithSize:label.frame.size options:NSStringDrawingUsesLineFragmentOrigin attributes:[Util getAttributesforFont:label.font] context:stringDrawingContext];
CGRect substringFrame = [substring boundingRectWithSize:label.frame.size options:NSStringDrawingUsesLineFragmentOrigin attributes:[Util getAttributesforFont:label.font] context:stringDrawingContext];
prefixFrame = CGRectIntegral(prefixFrame);
substringFrame = CGRectIntegral(substringFrame);
return CGRectMake(prefixFrame.size.width, prefixFrame.origin.y, substringFrame.size.width, substringFrame.size.height);
}
我得到{{100, 0}, {40, 24}},好像这个词的位置如下:
____________
| |
|This is the |label
| |
| |
|____________|
【问题讨论】:
标签: objective-c nsstring uilabel