【发布时间】:2021-01-01 08:39:25
【问题描述】:
我是一名学生,刚接触 SwiftUI,还在学习。当我滚动 ScrollView 时,我希望上面的图像随着每一步慢慢增加它的不透明度。我不知道怎么做。你有什么资料吗。我找不到一个例子。你能做到吗?我们如何获取 ScrollView 运动数据?
我试了几次都失败了。
struct Home: View {
var body: some View {
TabView{
NavigationView{
ZStack {
GeometryReader{ geometry in
Color.black.edgesIgnoringSafeArea(.all)
VStack{//Ana sayfa image animation bölümü
Spacer().frame(height:geometry.size.height / 7)
Image("HandP")
.resizable()
.aspectRatio(ContentMode.fit)
.frame(width:geometry.size.width,height:geometry.size.height / 3)
}
ScrollView(.vertical){
VStack(spacing: 20) {
Spacer().frame(height:geometry.size.height / 2)//ScrollView üst boşluk
Button(action: {
//some action
}) {
Text("önceki")
}
HStack(spacing: 10) {
NavigationLink(destination: SendCoffeeFortune()){
Text("Kahve Falı")
}
.navigationBarTitle(Text("Geri"),displayMode: .inline)
.navigationBarHidden(true)
Button(action: {
}) {
Text("Astroloji")
}
}
HStack(spacing: 10) {
NavigationLink(destination: SpecialCoffeeFortune()){
Text("Özel Fal")
}
.navigationBarTitle(Text("Geri"),displayMode: .inline)
.navigationBarHidden(true)
Button(action: {
}) {
Text("Tarot")
}
}
HStack(spacing: 10) {
Button(action: {
//some action
}) {
Text("Uyum")
}
NavigationLink(destination: SendHandFortune()){
Text("El Falı")
}
.navigationBarTitle(Text("Geri"),displayMode: .inline)
.navigationBarHidden(true)
}
}
.padding()
.padding()
}
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
}
}
}
}
}
【问题讨论】:
-
请不要粘贴代码墙。将其剥离到您需要证明您的问题的最低限度。它增加了能够帮助您解决问题的可能性。你还需要一个 ScrollViewReader hackingwithswift.com/quick-start/swiftui/…
-
“每一步”滚动是什么意思?
-
我希望图片向上滑动时不透明。图片在每一步都会变成 1 不透明,所以。 @Asperi
-
有问题的图片将被留下。当我滚动时,当页面在图像上滚动时,图像应该慢慢变得不透明。@Asperi - @Warren Burton