swift层叠组合(ZStack)

简介: swift层叠组合(ZStack)

在 SwiftUI 中,ZStack 是一种用于堆叠视图的容器,它可以将多个视图放置在同一位置,按照 z 轴方向(前后层次)叠加在一起,类似于 Photoshop 或 Sketch 等图形编辑器中的图层概念。最上方的视图将在视觉上覆盖下方的视图,但所有视图都保留在同一坐标空间内。

使用 ZStack 可以轻松实现背景图片、遮罩、水印、浮动提示框等效果。下面是一个简单的 ZStack 使用示例:

import SwiftUI

struct ContentView: View {
   
    var body: some View {
   
        ZStack {
    // 创建 ZStack 容器
            Color.gray // 底层视图,填充背景色为灰色

            VStack {
    // 中间层视图,垂直布局
                Text("Hello")
                    .foregroundColor(.white)
                    .font(.largeTitle)
                Text("World!")
                    .foregroundColor(.white)
                    .font(.title)
            }
            .padding()
            .frame(maxWidth: .infinity)
            .background(Color.black.opacity(0.5)) // 添加半透明黑色背景

            Image(systemName: "star.fill")
                .foregroundColor(.yellow)
                .font(Font.system(size: 80))
                .offset(x: 50, y: -100) // 上层视图,星星图标,设置偏移使其位于顶部中间偏右的位置
        }
        .edgesIgnoringSafeArea(.all) // 忽略安全区域边缘,让内容延伸至屏幕边缘
    }
}

在这个例子中,ZStack 包含了三层视图:

  1. 背景色为灰色的底层视图。
  2. 居中带有文本的中间层视图,背景为半透明黑色。
  3. 位于顶层的一个黄色填充的星形图标,它相对于其他视图有一定的偏移量,因此会在屏幕上看到文字内容以及在它们之上的星形图标。
目录
相关文章
SwiftUI—使用section将列表分为几个组
SwiftUI—使用section将列表分为几个组
1100 0
SwiftUI—使用section将列表分为几个组
|
iOS开发
SwiftUI极简教程34:LazyVGrid垂直网格和LazyHGrid水平网格的使用
SwiftUI极简教程34:LazyVGrid垂直网格和LazyHGrid水平网格的使用
2090 0
SwiftUI极简教程34:LazyVGrid垂直网格和LazyHGrid水平网格的使用
|
Windows
使用docsify生成静态网站和pdf epub等
docsify生成静态网站和pdf epub等
2199 0
|
7月前
|
缓存 Cloud Native Java
Java 面试微服务架构与云原生技术实操内容及核心考点梳理 Java 面试
本内容涵盖Java面试核心技术实操,包括微服务架构(Spring Cloud Alibaba)、响应式编程(WebFlux)、容器化(Docker+K8s)、函数式编程、多级缓存、分库分表、链路追踪(Skywalking)等大厂高频考点,助你系统提升面试能力。
629 0
Swift 中 struct(结构体)和 class(类)的区别
【10月更文挑战第10天】理解 struct 和 class 的区别对于正确使用 Swift 语言进行编程非常重要。在实际开发中,需要根据具体的需求和场景来选择合适的数据类型,以充分发挥它们的优势,提高代码的质量和效率。
|
程序员 索引
SwiftUI极简教程18:SwipeCard卡片滑动效果的使用(上)
SwiftUI极简教程18:SwipeCard卡片滑动效果的使用(上)
1513 0
SwiftUI极简教程18:SwipeCard卡片滑动效果的使用(上)
|
API 开发者 Python
FastAPI系列 4 -路由管理APIRouter
本文是FastAPI系列教程的第四部分,介绍了如何使用APIRouter进行路由管理,通过示例展示了将应用程序功能拆分到不同的模块和文件中,创建用户和书籍的API路由,以及在FastAPI主应用中包含这些路由的方法,并提供了运行结果和API交互文档的截图。
|
存储 小程序 前端开发
毕业设计:微信小程序健康管理系统的开发与实现(一)
毕业设计:微信小程序健康管理系统的开发与实现
796 0
毕业设计:微信小程序健康管理系统的开发与实现(一)
|
Kubernetes Cloud Native API
云原生技术专题 | 深入浅出分析云原生微服务的技术结构和架构设计
云原生技术专题 | 深入浅出分析云原生微服务的技术结构和架构设计
972 0
|
Swift iOS开发 UED
【Swift开发专栏】Swift中的动画与过渡效果
【4月更文挑战第30天】本文介绍了Swift中的动画与过渡效果,分为三个部分:动画基础、过渡效果和实战案例。在第一部分,讲解了动画概念,包括UIView动画、动画选项和关键帧动画。第二部分阐述了过渡效果,包括UIView自带的过渡效果和自定义过渡效果。第三部分通过按钮点击动画和页面切换过渡效果展示了实际应用。
416 0

热门文章

最新文章