- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
var navigationImageView:UIImageView! = UIImageView()
navigationImageView.frame = (0,0,320,64)
var gradient = CAGradientLayer()
let gradientDark = UIColor(red: 148/255.0, green:210/255.0, blue: 245/255.0, alpha: 1.0)
let gradientLight = UIColor(red: 222/255.0, green:247/255.0, blue: 230/255.0, alpha: 1.0)
let gradientLight1 = UIColor(red: 245/255.0, green:247/255.0, blue: 206/255.0, alpha: 1.0)
gradient.frame = navigationImageView.bounds
let color1 = gradientDark.cgColor
let color2 = gradientLight.cgColor
let color3 = gradientLight1.cgColor
gradient.colors = [color1, color2, color3]
gradient.colors = [gradientDark.cgColor,gradientLight.cgColor,gradientLight1.cgColor];
navigationImageView.layer.insertSublayer(gradient, at: 0)
它不起作用...如何使用渐变图像背景颜色?
最佳答案
您可以从渐变中制作图像并将其设置在imageView
let gradient = CAGradientLayer()
let screenWidth = UIScreen.main.bounds.size.width
let defaultNavigationBarFrame = CGRect(x: 0, y: 0, width: screenWidth, height: 64)
gradient.frame = defaultNavigationBarFrame
//colors
let gradientDark = UIColor(red: 148/255.0, green:210/255.0, blue: 245/255.0, alpha: 1.0)
let gradientLight = UIColor(red: 222/255.0, green:247/255.0, blue: 230/255.0, alpha: 1.0)
let gradientLight1 = UIColor(red: 245/255.0, green:247/255.0, blue: 206/255.0, alpha: 1.0)
gradient.colors = [gradientDark.cgColor,gradientLight.cgColor,gradientLight1.cgColor]
// Create image.
let imageBG: UIImage = self.gradientImage(fromLayer: gradient)
如果你想在导航栏中设置。
self.navigationController?.navigationBar.setBackgroundImage(imageBG,
for: .default)
从渐变创建图像。
func gradientImage(fromLayer layer: CALayer) -> UIImage {
UIGraphicsBeginImageContext(layer.frame.size)
layer.render(in: UIGraphicsGetCurrentContext()!)
let outputImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return outputImage!
}
关于ios - 对于 Uiimageview 如何将 CGgradient 背景色设置为 ios swift 4 中的背景色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48495715/
一个人如何用3种颜色绘制CGGradient? 我有一个像这样的数组: CFArrayRef colors = (__bridge CFArrayRef) [NSArray arrayWithObje
我真的不明白这是怎么回事。我的 ImageView 上有渐变,我想在没有互联网的情况下将其删除。等网络回来了,我想再画一遍。这可能听起来很奇怪,但是当互联网在线并且我的 block 调用时,它(渐变)
如何在 View 中的封闭路径上绘制 CGGradient?我试图绘制渐变,但是,它是在 View 本身上绘制的,而不是仅在我在 View 中填充的 CGPath 中绘制。我只想在填充的路径上绘制渐变
我正在尝试绘制更复杂的 UILabels(或 UIView,如果需要,将 UILabel 放在顶部)背景。由于我希望在用户更改 iPhone 方向时自动调整大小,因此我尝试在子类 drawRect 函
iPhone 上可以在路径中绘制渐变吗? 我正在寻找 mac os x 方法的替代方法 -(void)drawInBezierPath:(NSBezierPath *)path relativeCen
我正在为我的一个应用中的新 UI 尝试一些东西。我想知道,添加渐变背景等 UI 元素的最有效方法是什么(请记住应用程序的大小以及速度/内存消耗)。 我是否最好只在 Inkscape 或 Illustr
我正在使用 CGGradiant 绘制一个 gardiant 3/4 cirlce,使用从红色到黄色到绿色的三种颜色。但是 CGGradiant 总是从淡黄色而不是红色开始颜色。我正在使用它,因为我在
我正在使用 PaintCode StyleKit 生成一堆渐变,但 PaintCode 将它们导出为 CGGradient。我想将这些渐变添加到 layer 中。是否可以将 CGGradient 转换
这个问题在这里已经有了答案: Converting Swift array to CFArray in Xcode 8 (Swift 3) (1 个回答) 5年前关闭。 只是在将我的代码从 swift
我想添加渐变作为标签的背景。我使用以下代码来实现这一目标。但问题是,虽然标签上出现渐变颜色,但文本不可见。请帮忙 lblPatientDetail.text=PatientsDetails; lblP
我有一个有 4 个页面的 UIPageViewController,通过从这里获取示例:http://www.appcoda.com/uipageviewcontroller-storyboard-t
我正在用 CGGradientCreateWithColorComponents 创建 CGGradientRef据记录支持 alpha channel : The number of items i
下面是我创建特定渐变的代码: let newBlueOne = UIColor(red: 0.141, green: 0.776, blue: 0.863, alpha: 1.000
我有这个工作代码: NSMutableArray *shadowColors = [NSMutableArray arrayWithCapacity:2]; color = [UICo
我有两个 UIColor 实例,想用它们创建渐变。代码有效,但是当我调用 arrayWithObject: 构造函数时它给了我一个警告: warning: Semantic Issue: Incomp
我一直在尝试为我的 iOS 应用程序的 UI 创建我自己的渐变。我首先使用了 CAGradientLayer,但我对“阶梯式”外观感到失望,所以我一直在尝试 CGGradient。 - (voi
var navigationImageView:UIImageView! = UIImageView() navigationImageView.frame = (0,0,320,64) var gr
样式包代码: static let red: UIColor = UIColor(red: 0.800, green: 0.000, blue: 0.000, alpha: 1.000) static
我是一名优秀的程序员,十分优秀!