可能重复:
在iPhone应用程序中手动绘制渐变?
我的应用程序需要在a UIView或者背景中显示文本,UILabel但是背景必须是渐变而不是true UIColor.使用图形程序创建所需的外观并不好,因为文本可能会根据从服务器返回的数据而有所不同.
有谁知道解决这个问题的最快方法?非常感谢您的想法.
我知道如何绘制一条简单的线条:
CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 1.0);
CGContextMoveToPoint(context, x, y);
CGContextAddLineToPoint(context, x2, y2);
CGContextStrokePath(context);
Run Code Online (Sandbox Code Playgroud)
我知道如何做一个渐变矩形,ig:
CGColorSpaceRef myColorspace=CGColorSpaceCreateDeviceRGB();
size_t num_locations = 2;
CGFloat locations[2] = { 1.0, 0.0 };
CGFloat components[8] = { 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0 };
CGGradientRef myGradient = CGGradientCreateWithColorComponents(myColorspace, components, locations, num_locations);
CGPoint myStartPoint, myEndPoint;
myStartPoint.x = 0.0;
myStartPoint.y = 0.0;
myEndPoint.x = 0.0;
myEndPoint.y = 10.0;
CGContextDrawLinearGradient (context, myGradient, myStartPoint, myEndPoint, 0);
Run Code Online (Sandbox Code Playgroud)
但是我怎么能画一条渐变的线条,ig从黑色渐变到白色(也可能在另一边渐渐变成黑色)?
有没有办法在 SwiftUI 中使用渐变作为文本的前景色?
感谢您提前回答!
我想为文本的填充颜色创建渐变.目前我正在通过将UILabel文本的颜色设置为
UIImage *image = [UIImage imageNamed:@"GradientFillImage.png"];
myLabel.textColor = [UIColor colorWithPatternImage:image];
Run Code Online (Sandbox Code Playgroud)
哪个GradientFillImage.png是简单的图像文件,其上绘有线性渐变.
这工作正常,直到我想调整字体大小.由于图像文件具有恒定的尺寸,并且在调整字体大小时不调整大小,因此字体的渐变填充变得混乱.如何创建自定义尺寸图案图像并将其应用为文本的填充图案?
我正在尝试创建一个UILabel具有渐变背景颜色的.我想知道是否有办法通过界面构建器执行此操作.如果没有,有没有办法使用Swift编程语言以编程方式完成此操作?
任何意见或建议都非常感谢.
提前致谢.
我正在尝试为UILabel绘制渐变,但它只会绘制我看不到文本的颜色。我看到的代码从这里的StackOverflow
我的修改:
extension String{
func gradient(x:CGFloat,y:CGFloat, fontSize:CGFloat)->UIImage{
let font:UIFont = UIFont.systemFontOfSize(fontSize)
let name:String = NSFontAttributeName
let textSize: CGSize = self.sizeWithAttributes([name:font])
let width:CGFloat = textSize.width // max 1024 due to Core Graphics limitations
let height:CGFloat = textSize.height // max 1024 due to Core Graphics limitations
UIGraphicsBeginImageContext(CGSizeMake(width, height))
let context = UIGraphicsGetCurrentContext()
UIGraphicsPushContext(context!)
//draw gradient
let glossGradient:CGGradientRef?
let rgbColorspace:CGColorSpaceRef?
let num_locations:size_t = 2
let locations:[CGFloat] = [ 0.0, 1.0 ]
let components:[CGFloat] = [(202 / 255.0), (197 / 255.0), (52 / …Run Code Online (Sandbox Code Playgroud) 我正在开发一个Mac应用程序,我想绘制一个像雷达一样的视图,我找不到沿着弧线绘制渐变颜色的方法.现有方法仅向一个方向绘制渐变.
如何在UILabel上制作类似于"滑动解锁"文本的动画?(文本渐变为左 - >右动画),然后文本颜色适应背景.
