【发布时间】:2020-04-01 20:14:12
【问题描述】:
我在Button 顶部有一个ScrollView,因为我希望ScrollView 的内容在滚动时移动到按钮的顶部。但是,目前这意味着按钮不起作用,我想是因为滚动视图正在接受触摸事件。有什么方法可以让按钮在 SwiftUI 中工作?
struct Test: View {
@State var pressed:Bool = false
var body: some View {
ZStack {
VStack {
Button(action: {
self.pressed = true
}) {
Text("Button")
.padding(20)
.accentColor(pressed ? Color.green : Color.red)
}
Spacer()
}
ScrollView {
Spacer()
.frame(height:60)
Color.gray
.frame(height:200)
.padding(10)
Color.gray
.frame(height:200)
.padding(10)
}
}
}
}
【问题讨论】:
-
好的,很抱歉,但我不明白您为什么要滚动按钮...!?你有一个截图来解释为什么这是有意义的吗?是的,滚动视图当然会捕捉到触摸......我只是很好奇。
-
@Chris 我想要一个带有按钮的标题,当滚动视图滚动到最顶部时用户可以使用该按钮,但当用户滚动列表时并不重要,我附上了一个示例代码的屏幕截图。
-
@BenJacob 你找到解决这个问题的方法了吗?我也有同样的问题。
-
@SteV8 一样,你找到解决办法了吗?
-
@aheze 我不得不切换到 UIKit。
标签: ios swift button swiftui uiscrollview