SwiftUI 中滚动视图内的列表视图

问题描述 投票:0回答:1

在 Swiftui 中,我在滚动视图中有一个列表视图。我想关闭滚动视图滚动。然而,Listview 应该滚动。但是,当我使用.disabled(true) 时它不起作用。人们会如何去做这件事呢?请有人帮忙。

import SwiftUI

struct ContentView: View {
    var birds = ["Hen","Peacock", "Humming Bird", "Eagle", "Kite", "Vulture"]
    var body: some View {
        GeometryReader { geometry in
            ScrollView {
                Text("Birds List")
                List {
                    ForEach(birds, id: \.self) { bird in
                        
                        Text("\(bird)")
                    }
                }.frame(width: geometry.size.width - 5, height: geometry.size.height - 50, alignment: .center)
            }
            .disabled(true)
        }
    }
}

#Preview {
    ContentView()
}

Scrollview 不应该滚动,但 tableview 应该滚动

listview swiftui
1个回答
0
投票

实际上是

.scrollDisabled(true)
。当您使用
.disabled(true)
时,意味着用户无法与此视图交互,因为
List
嵌套在
ScrollView
内,因此两个视图都被禁用。试试这个:

ScrollView {

}
.scrollDisabled(true) //<- here
© www.soinside.com 2019 - 2024. All rights reserved.