回答
你可以尝试用图像设置颜色的标签,
添加以下方法
func getGradientImage(_ bounds:CGRect) -> UIImage {
let gradientLayer = CAGradientLayer()
gradientLayer.colors = [
UIColor(red: 0.596, green: 0.839, blue: 0.929, alpha: 1.00).cgColor,
UIColor(red: 0.169, green: 0.302, blue: 0.408, alpha: 1.00).cgColor
]
gradientLayer.startPoint = CGPoint.zero
gradientLayer.endPoint = CGPoint(x: 1, y: 1) // changing start and end point value you can set vertical or horizontal
gradientLayer.locations = [0.5,1]
gradientLayer.bounds = bounds
UIGraphicsBeginImageContextWithOptions(gradientLayer.bounds.size, true, 0.0)
let context = UIGraphicsGetCurrentContext()
gradientLayer.render(in: context!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image!
}
并设置颜色为您的标签一样
yourLabel.textColor = UIColor(patternImage: getGradientImage(yourLabel.bounds))
感谢您的想法 –
我的荣幸。 – dip
是的,你可以跟CoreGarphics的帮助:
步骤一:
下面的功能让你的文字BezierPath - >
-(UIBezierPath*)getPathOfStr{
UIFont *font = [UIFont fontWithName:@"HelveticaNeue" size:64];
CGFontRef fontref = CGFontCreateWithFontName((__bridge CFStringRef)font.fontName);
NSString *unichars = @"I";
CFStringRef yourFriendlyCFString = (__bridge CFStringRef)unichars;
CGGlyph glyphs = CGFontGetGlyphWithGlyphName(fontref, yourFriendlyCFString);
CTFontRef fontCT = CTFontCreateWithName((__bridge CFStringRef)font.fontName, font.pointSize, NULL);
CGPathRef cgpath = CTFontCreatePathForGlyph(fontCT, glyphs, nil);
UIBezierPath *path = [UIBezierPath bezierPathWithCGPath:cgpath];
NSLog(@"Complete path For p is %@", path);
CGPathApply(cgpath, (__bridge void * _Nullable)(bezierPoints), MyCGPathApplierFunc);
NSLog(@"Points on path %@", bezierPoints);
return path;
}
第二步:
现在制作一个渐变图层,并用您的文本路径将其遮罩,使用填充颜色=清除颜色,以便渐变图层将从文本中可见。
这是在目标C或迅速答案? – KKRocks
对不起,犯了一个错误。 代码编辑。 –
- 1. 如何垂直分割2种颜色的文字?
- 2. UILabel中的多种颜色
- 3. 垂直颜色梯度
- 4. Eclipse:改变垂直条的颜色
- 5. UILabel TextAlignement垂直顶部
- 6. UILabel垂直设置文本
- 7. PHP交替单元格颜色垂直
- 8. 多个垂直背景颜色CSS3
- 9. 垂直滚动条颜色不变
- 10. java秋千边框,使用2种或多种颜色
- 11. 使用matplotlib使用多种颜色的颜色轴脊柱
- 12. Android - 带2种不同颜色的ListView
- 13. 禁用白色垂直线
- 14. 使用属性动画改变2种不同的颜色
- 15. 使用角材2创建超过3种颜色的主题
- 16. UILabel - 颜色特定字符
- 17. 具有多种字体颜色的UILabel文本
- 18. 树荫和混合两种颜色与百分比,水平和垂直迅速
- 19. UITableViewCell UILabel垂直对齐似乎关闭
- 20. 强制文字垂直放入UILabel中?
- 21. 在UILabel中垂直居中文本
- 22. 多种颜色
- 23. 是否可以在UILabel中设置多种颜色?
- 24. 颜色树节点与2种颜色,但不是通过用户
- 25. 的UILabel文字颜色不的iOS 4.3
- 26. 垂直滚动的工具栏渐变颜色
- 27. Netbeans - 如何隐藏带有颜色的垂直条?
- 28. 的UILabel与attributedText在自定义的UITableViewCell:颜色不渲染,直到重用(iOS10)
- 29. 使UILabel的文字颜色与UITableView标题的文字颜色相同
- 30. matplotlib绘图中使用多种颜色
试试这个HTTPS ://www.cocoacontrols.com/controls/leffectlabel –
使用CAGra在标签上添加子图层dientLayer –
试试这个链接它工作正常:http://stackoverflow.com/a/41316298/3901620 – KKRocks