Ios SwiftUI中的平面导航最佳实践
所以我在读关于导航的文章。在SwiftUI中,对于分层导航,我们使用Ios SwiftUI中的平面导航最佳实践,ios,swiftui,Ios,Swiftui,所以我在读关于导航的文章。在SwiftUI中,对于分层导航,我们使用NavigationLink-视图。例如,平面导航是apple music中每首歌曲的视图 我的问题是: 我有一个解决方案,但我想知道什么是最佳实践解决方案 此外,我必须自己添加动画,而使用NavigationLink我可以“免费”获得动画。为什么过渡不起作用?我试图在跳过一首歌时获得与苹果音乐相似的动画效果 导入快捷界面 结构歌曲:可识别{ var id=UUID() 变量名称:String var cover=颜色(红色:D
NavigationLink
-视图。例如,平面导航是apple music中每首歌曲的视图
我的问题是:
NavigationLink
我可以“免费”获得动画。为什么过渡不起作用?我试图在跳过一首歌时获得与苹果音乐相似的动画效果导入快捷界面
结构歌曲:可识别{
var id=UUID()
变量名称:String
var cover=颜色(红色:Double.random(in:0…1),绿色:Double.random(in:0…1),蓝色:Double.random(in:0…1))
}
结构ContentView:View{
变量歌曲:[歌曲]=[]
init(){
因为我在0…1000{
self.songs.append(歌曲(名称:“歌曲\(i)”)
}
}
@状态变量指数=0
var body:一些观点{
VStack{
详细视图(歌曲:歌曲[索引])
.transition(.不对称(插入:。移动(边:。前导),删除:。移动(边:。后导)))
歌曲导航(索引:$index,totalSongs:songs.count)
}.padding()
}
}
结构详细视图:视图{
宋:宋
var body:一些观点{
VStack{
文本(歌曲名称)
}.frame(最小宽度:0,最大宽度:。无穷大,最小高度:0,最大高度:。无穷大)。背景(歌曲。封面)
}
}
结构导航:视图{
@绑定变量索引:Int
var totalSongs:Int
var body:一些观点{
HStack{
按钮(“上一个”){
withAnimation(){
如果self.index>0{
self.index-=1
}
}
}
垫片()
按钮(“下一步”){
withAnimation(){
如果self.index!=self.totalSongs-1{
自索引+=1
}
}
}
}
}
}
我在post.yes@Asperi中提供的方法可能会对您有所帮助