← 返回 iOS 词条
层叠顺序
在 iOS 上叫zIndex
SwiftUI: View.zIndex(_:)
官方描述是「控制重叠视图的显示顺序」,参数说明是「这个视图相对的前后次序,默认为 0」。没有「必须先定位」这类前置条件,任何视图都能直接用。
两个元素在屏幕上重叠时,决定谁画在上面、谁被盖在下面的先后次序。
- 被别的东西盖住了
- 让它显示在最上面
- 浮层跑到下面去了
- 层叠顺序
- 堆叠次序
- 绘制顺序
其他平台的相似实现
Web原生支持
z-index同名官方定义是「设置一个已定位元素及其后代、或弹性与网格项的 z 轴次序」。
看 Web 视角 →Android原生支持
zIndex同名官方描述是「创建一个修饰符,控制同一个布局父级下子元素的绘制顺序」。
看 Android 视角 →使用规范
什么时候用
- 浮层、气泡、吸顶栏需要压在正常内容之上时
- 两个重叠元素的先后关系不能靠书写顺序保证时
什么时候别用
- 靠不断加大数值来压过别人时 —— 那说明层级关系本身没理清
- 元素并不重叠,只是排布先后 → 那是布局顺序,不是层叠顺序