热门标签 | HotTags
当前位置:  开发笔记 > IOS > 正文

SwiftUI-如何在图像上添加前景线性渐变

如何解决《SwiftUI-如何在图像上添加前景线性渐变》经验,为你挑选了1个好方法。

我找不到任何有关如何使用SwiftUI 在前景上对图像进行线性渐变的相关文档。

我试图这样做:

Image("IconLoseWeight")
  .frame(width: 30.0, height: 30.0)
  .padding(.leading, 17)
  .foregroundColor(LinearGradient(gradient: Gradient(colors: [.white, .black]), startPoint: .top, endPoint: .bottom))

实际上,上面显示的代码不会显示任何错误,但是会使用在顶级堆栈中没有意义的警告来打乱代码(我认为这是Xcode或SwiftUI的错误)。如果删除foreground修饰符,则代码可以完美运行。



1> RyuX51..:

这是因为frontendColor需要a Color,但是LinearGradienta struct符合协议ShapeStyleand View

如果我理解正确,您想用渐变填充图像的不透明区域吗?

ZStack {
  Color.white // For the background. If you don't need a background, you don't need the ZStack.
  LinearGradient(gradient: Gradient(colors: [.green, .blue]), startPoint: .top, endPoint: .bottom)
    .mask(Image("AssetWithTransparency")
      .resizable()
      .padding()
      .aspectRatio(contentMode: .fit))
  }.cornerRadius(15)

结果看起来像这样:


推荐阅读
author-avatar
逆天子_1968n_6
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有