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. 位于顶层的一个黄色填充的星形图标,它相对于其他视图有一定的偏移量,因此会在屏幕上看到文字内容以及在它们之上的星形图标。
目录
相关文章
|
存储 iOS开发
SwiftUI极简教程17:Gestures手势的使用
SwiftUI极简教程17:Gestures手势的使用
1224 0
SwiftUI极简教程17:Gestures手势的使用
|
Java 程序员 开发者
我们踩过的Java坑:自定义异常,让你的代码不再“捉急”!
我们踩过的Java坑:自定义异常,让你的代码不再“捉急”!
269 1
|
安全 Swift iOS开发
【Swift开发专栏】Swift中的属性观察者与KVO
【4月更文挑战第30天】Swift编程语言支持属性观察者(`willSet`和`didSet`)和键值观察(KVO)来响应属性变化。属性观察者在设置前(`willSet`)和设置后(`didSet`)执行代码,可用于数据绑定。KVO是Cocoa/Cocoa Touch中的机制,需`NSObject`子类和`@objc dynamic`属性配合使用。注意在观察者销毁前移除观察,以避免内存问题。示例展示了属性观察者实现简单数据绑定。
249 1
|
开发框架 前端开发 Swift
SwiftUI的优缺点
SwiftUI的优缺点
533 0
|
Kubernetes Cloud Native API
云原生技术专题 | 深入浅出分析云原生微服务的技术结构和架构设计
云原生技术专题 | 深入浅出分析云原生微服务的技术结构和架构设计
717 0
|
存储 小程序 前端开发
毕业设计:微信小程序健康管理系统的开发与实现(一)
毕业设计:微信小程序健康管理系统的开发与实现
552 0
毕业设计:微信小程序健康管理系统的开发与实现(一)
|
数据可视化 数据挖掘 iOS开发
iOS MachineLearning 系列(21)——CoreML模型的更多训练模板
前面文章中,有介绍如何训练生成定制化需求的 CoreML 模型,以图像分类为例做了演示.
312 0
|
数据安全/隐私保护 iOS开发 开发者
iOS上架详细通关教程(提交到AppStore)
iOS上架详细通关教程(提交到AppStore)
羊了个羊游戏开发实战教程(5):制作更多层
羊了个羊游戏开发实战教程(5):制作更多层
289 0
|
前端开发 小程序 定位技术
Mac上抓包秒通关🐑羊了个羊🐑
前言 看网上大部分是 Windows 微信小游戏的抓包教程通关文章,因为Mac微信不支持小游戏(尴尬了。) 对于真机抓包的话,高版本Android配置CA太麻烦(Root),相信 大部分都是10左右的安卓 手里只有台Mac,那咱就直接用 Mac 配安卓模拟器搞定抓包(Whistle + MuMu) PS:文末有最终演示视频,看效果直接跳文末