回答
你可以尝试用图像设置颜色的标签,
添加以下方法
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 TEXT的两种颜色
- 3. UILabel中的多种颜色
- 4. 的UILabel用两种不同颜色
- 5. 垂直颜色梯度
- 6. 垂直对齐UILabel
- 7. 绘画行,只使用2种颜色
- 8. Pyplot axvspan:一个范围内的多种颜色(垂直)
- 9. 颜色混合超过2种颜色
- 10. 改变颜色,2种颜色
- 11. 颜色1和颜色2的n种颜色的渐变
- 12. Qt垂直滑块的颜色
- 13. Eclipse:改变垂直条的颜色
- 14. UILabel垂直设置文本
- 15. UILabel TextAlignement垂直顶部
- 16. 多个垂直背景颜色CSS3
- 17. 垂直CSS分隔线颜色
- 18. 垂直滚动条颜色不变
- 19. PHP交替单元格颜色垂直
- 20. 使用Dygraph在图形中更改垂直条的颜色
- 21. java秋千边框,使用2种或多种颜色
- 22. 使用记事本++如何更改垂直轮廓颜色?
- 23. 使用matplotlib使用多种颜色的颜色轴脊柱
- 24. 为什么BFS使用2种颜色标记节点,而使用3种颜色的DFS?
- 25. 如何垂直居中2的UILabel与动态高度
- 26. Android - 带2种不同颜色的ListView
- 27. 直接从高亮颜色切换颜色到另一种颜色
- 28. 垂直对齐UILabel中的文本
- 29. 垂直对齐UILabel中的文字(xcode)
- 30. 禁用白色垂直线
试试这个HTTPS ://www.cocoacontrols.com/controls/leffectlabel –
使用CAGra在标签上添加子图层dientLayer –
试试这个链接它工作正常:http://stackoverflow.com/a/41316298/3901620 – KKRocks