首页 > 解决方案 > ZStack 顶部的 ScrollView

问题描述

考虑以下示例:

ZStack{
    VStack{
        ForEach(0..100) { elem in
            Button(action: {"do something..."}, label: Text("\(elem)"))
        }
    }

    ScrollView {
        ForEach(0..<100) { elem in 
            Text("\(elem)")
        }    
    }
}

当我将 aScrollView放在按钮顶部时,ScrollView它不再可滚动。仅在没有按钮位于的位置ScrollView。是否可以“停用”底层 ZStack 层?我试过.disable()了,但这没有帮助。这不是一个真实世界的例子。将ScrollView显示为弹出窗口,因此我需要知道如何解决此用例。

标签: swiftui

解决方案


我找到了一个简单的解决方案:

ZStack{
    VStack{
        ForEach(0..100) { elem in
            Button(action: {"do something..."}, label: Text("\(elem)"))
        }
    }

    ScrollView {
        ForEach(0..<100) { elem in 
            Text("\(elem)")
        }    
    }
    .zIndex(1) // <<<<<------ solution
}

推荐阅读