我有一个UILabel,我想淡化字符串的末尾,这将超出范围。对此有什么更好的解决方案?我应该计算标签的宽度,将其与字符串宽度进行比较,如果字符串宽度大于标签的宽度,我应该淡出最后两个字母吗?我到底应该怎么做?我希望这会很容易。请写出你的解决方案。谢谢!我更喜欢使用这种方法来计算宽度:
CGRect labelRect = [text
boundingRectWithSize:labelSize
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{
NSFontAttributeName : [UIFont systemFontOfSize:14]
}
context:nil];
Run Code Online (Sandbox Code Playgroud)
您可以使用淡入淡出一行标签CAGradientLayer
CAGradientLayer *l = [CAGradientLayer layer];
l.frame = self.textLabel.bounds;
l.colors = @[(id)[UIColor whiteColor].CGColor, (id)[UIColor clearColor].CGColor];
l.startPoint = CGPointMake(0.1f, 1.0f);
l.endPoint = CGPointMake(0.95f, 1.0f);
self.textLabel.layer.mask = l;
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
2290 次 |
| 最近记录: |