计算 Label 末尾文字 位置

CGSize labelSz = [str boundingRectWithSize:CGSizeMake(MAXFLOAT, label.height) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12]} context:nil].size;

[self layoutIfNeeded];
CGFloat labelW = label.width;

CGSize lineSz = [str boundingRectWithSize:CGSizeMake(labelW, label.height) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12]} context:nil].size;

CGFloat txtX =  labelSz.width <= lineSz.width ?
// x 约束 相对 左边 的 X
label.x - 20 + labelSz.width :
label.x - 20 + (int)labelSz.width % (int)lineSz.width;

CGFloat txtY = labelSz.width <= lineSz.width ?
(label.height - 17) * 0.5 : lineSz.height - labelSz.height;

NSLog(@"X : %f  , Y :%f",txtX,txtY);

return CGPointMake(txtX, txtY);

你可能感兴趣的:(计算 Label 末尾文字 位置)