SwiftUI PageView iOS 13 - 导航链接未按预期工作

Posted

技术标签:

【中文标题】SwiftUI PageView iOS 13 - 导航链接未按预期工作【英文标题】:SwiftUI PageView iOS 13 - Navigation link not working as expected 【发布时间】:2021-04-27 08:40:34 【问题描述】:

我的项目是 ios 13 及更高版本的目标,因此无法使用 PageTabViewStyle()。我尝试了来自此链接的 John 先生的建议

SwiftUI create image slider with dots as indicators

现在我需要在单击幻灯片中的图像时打开详细视图。但是现在当我尝试移动图像时,详细视图正在打开并且无法像在 Pageview 中那样移动图像。我实现了以下代码。请让我知道解决此问题的解决方案。提前致谢。

                PagingView(index: $index.animation(), maxIndex: images.count - 1)
                    ForEach(articles, id: \.self)  article in
                        
                        NavigationLink(destination: ArticleDetailUIView(article: articles[self.index], isBookmark: false) , isActive: $areYouGoingToArticleView)
                        
                            
                            
                            Image(article.image)
                                .resizable()
                                .scaledToFill()
                                .accessibility(identifier: "articleImage")
                            
                            
                        
                        
                    
                
                .aspectRatio(4/3, contentMode: .fit)
                .clipShape(RoundedRectangle(cornerRadius: 15))

【问题讨论】:

【参考方案1】:

经过几次浏览后,解决方法是使用步进器在幻灯片中移动而不是滚动图像。我添加了以下几行。

Stepper("Index: (index)", value: $index.animation(.easeInOut), in: 0...images.count-1) .font(字体.body.monospacedDigit()) .labelsHidden()

【讨论】:

以上是关于SwiftUI PageView iOS 13 - 导航链接未按预期工作的主要内容,如果未能解决你的问题,请参考以下文章

在 PageTabViewStyle (SwiftUI 2.0) 或 PageViewController/PageView (带有 UIKit 界面) 上显示部分上一个和下一个项目

如何在 SwiftUI 中制作动态 PageViewController?

SwiftUI - edgesIgnoringSafeArea 在 iOS 13.4 中的行为不同

如何在 XCode 中生成 iOS 13 SwiftUI 项目?

SwiftUI:在 iOS 14 上点击返回时导航链接崩溃,但在 iOS 13 上没有

TabView 在 iOS13 SwiftUI 上无法正常工作