放入ZStack时swiftui列表不起作用

Posted

技术标签:

【中文标题】放入ZStack时swiftui列表不起作用【英文标题】:swiftui list not working when put into ZStack 【发布时间】:2020-03-22 00:51:16 【问题描述】:

我用ZStack把一个list和Color组合起来,做完后List不会滚动,点击文本也没有输出。

有人知道怎么解决吗?

谢谢

struct ContentView: View 
    var body: some View 
        ZStack

            List
                ForEach(1...30, id: \.self) i in
                    Text("ROW \(i)")
                        .font(.system(size: 40))
                        .onTapGesture 
                            print("clicked \(i)")
                    

                
            

            Color.black.opacity(0.2)

        
    


【问题讨论】:

【参考方案1】:

在列表之前移动颜色,它将起作用。请参阅下面的更改代码。

import SwiftUI

struct ContentView: View 
    var body: some View 
        ZStack
            Color.black.opacity(0.2)
            List
                ForEach(1...30, id: \.self)  i in
                    Text("ROW \(i)")
                        .font(.system(size: 40))
                        .onTapGesture 
                            print("clicked \(i)")
                    
                
            
        
    

【讨论】:

【参考方案2】:

我不知道为什么它不起作用——可能是一个错误——但你可以(并且可能应该)这样做。

struct ContentView: View 
    var body: some View 
        List
            ForEach(1...30, id: \.self) i in
                Text("ROW \(i)")
                    .font(.system(size: 40))
                    .onTapGesture 
                        print("clicked \(i)")
                
            
        .background(Color.black.opacity(0.2))
    

【讨论】:

以上是关于放入ZStack时swiftui列表不起作用的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI:如果不在列表中,NavigationLink 不起作用

多行文本在 SwiftUI 列表内的 NavigationLink 中不起作用

SwiftUI 列表正在工作,但选择器不起作用

对 SwiftUI 中水平滚动视图内的列表不起作用的操作

如果堆栈大小> 1,则弹出后 SwiftUI3 导航链接不起作用

swiftUI 2.0列表滚动很慢,我找不到原因..即使是保罗哈德森的伎俩也不起作用