栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > iOS

iOS SwiftUI 颜色渐变填充效果的实现

iOS 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

iOS SwiftUI 颜色渐变填充效果的实现

SwiftUI 为我们提供了各种梯度选项,所有这些选项都可以通过多种方式使用。

Gradient 渐变器

A color gradient represented as an array of color stops, each having a parametric location value.

gradient是一组颜色的合集,每个颜色都忽略位置参数

LinearGradient 线性渐变器

线性渐变器拥有沿轴进行渐变函数,我们可以自定义设置颜色空间、起点和终点。

下面我们看看LinearGradient效果

import SwiftUI

struct LineView: View {
   var gradient: Gradient {
      let stops: [Gradient.Stop] = [
 .init(color: .red, location: 0.5),
 .init(color: .yellow, location: 0.5)
      ]
      return Gradient(stops: stops)
    }
    
    var body: some View {
    
 ZStack {
   LinearGradient(gradient: gradient,
   startPoint: .top,
   endPoint: .trailing)
     .edgesIgnoringSafeArea(.all)
   
   Image("1")
     .resizable()
     .aspectRatio(contentMode: .fit)
     .clipShape(Circle())
     .overlay(Circle()
.stroke(lineWidth: 8)
.foregroundColor(.white))
     .frame(width: 250)
   
 Text("洛神赋图")
.padding()
.foregroundColor(.white)
   .cornerRadius(8)
.background(LinearGradient(gradient: Gradient(colors: [.white, .black]), startPoint: .top, endPoint: .bottom))
   .offset(y:-280)
 }

    }
}

import SwiftUI

struct LineGradient3Color: View {
  
  var body: some View {
    ZStack {
      LinearGradient(gradient:
 Gradient(
   colors: [.blue, .white, .pink]),
startPoint: .topLeading,
endPoint: .bottomTrailing)
 .edgesIgnoringSafeArea(.all)
      
      Image("2")
 .resizable()
 .aspectRatio(contentMode: .fit)
 .clipShape(Circle())
 .overlay(Circle()
   .stroke(lineWidth: 8)
   .foregroundColor(.white))
 .frame(width: 250)
      
      Text("清明上河图")
 .padding()
 .foregroundColor(.white)
 .cornerRadius(8)
 .background(LinearGradient(gradient: Gradient(
   colors: [.yellow, .red]),
 startPoint: .topLeading,
   endPoint: .bottomTrailing))
 .offset(y:-180)
    }
  }
}

Radial Gradient 径向渐变

在径向渐变中,我们必须指定起始半径点,端半径点与中心点,从径向渐变开变.

import SwiftUI

struct RadialView: View {
   var body: some View {
     ZStack {
RadialGradient(gradient: Gradient(
 colors: [.blue, .black]),
 center: .center,
 startRadius: 2,
 endRadius: 650)
  .edgesIgnoringSafeArea(.all)

Image("3")
  .resizable()
  .aspectRatio(contentMode: .fit)
  .clipShape(Circle())
  .overlay(Circle()
    .stroke(lineWidth: 8)
    .foregroundColor(.white))
  .frame(width: 250)

Text("富春山居图")
  .padding()
  .foregroundColor(.white)
  .cornerRadius(8)
  .background(
   RadialGradient(gradient: Gradient(
    colors: [.yellow, .red]),
    center: .center,
     startRadius: 2,
 endRadius: 60))
  .offset(y:-180)
     }
   }
}

Angular Gradient

在角渐变中,我们只需要通过中心点。

import SwiftUI

struct AngularView: View {
    var body: some View {
     ZStack {
      AngularGradient(gradient: Gradient(
 colors: [.green, .blue, .black, .green, .blue, .black, .green]),
 center: .center)
  .edgesIgnoringSafeArea(.all)

Image("4")
  .resizable()
  .aspectRatio(contentMode: .fit)
  .clipShape(Circle())
  .overlay(Circle()
    .stroke(lineWidth: 8)
    .foregroundColor(.white))
  .frame(width: 250)

Text("汉宫春晓图")
  .padding()
  .foregroundColor(.white)
  .cornerRadius(8)
  .background(
   RadialGradient(gradient: Gradient(
    colors: [.yellow, .red]),
   center: .center,
     startRadius: 2,
endRadius: 60))
  .offset(y:-180)
     }
   }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/165860.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号