问题标签 [navigationlink]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swiftui - 如何让 SwiftUI 中的列表能够根据行指向多个视图
表达这一点的一种简单方法是回到 UITableView 并拥有一个didSelectRowAt(indexPath)
行为如下的函数:
根据 indexPath.row 的值,我可以调用一个唯一的视图控制器(例如:第一个是 TableView,其他的是 CollectionViews。
目前,基于到目前为止的两个答案,我可以生成以下代码:
但是,我的 NavigationLink 出现以下错误:
'? 中的结果值 :' 表达式具有不匹配的类型 'FirstList' 和 'SecondView'
由于我的目标是根据标题提出两种不同的观点,因此我想找到一些方法来实现这一目标。
superpuccio发布的答案似乎与我想要的非常接近,但是由于目标视图的预期复杂性,我认为完全在 NavigationLink 中组合它们是不可行的。
ios - 如何处理 UIViewControllerRepresentable 包装器中的 NavigationLink?
所以我正在尝试创建一个自定义分页滚动视图。我已经能够创建该包装器,并且该包装器内的内容由一个自定义视图组成。在该自定义视图中,我有两个 NavigationLink 按钮,按下时应该将用户带到两个不同的视图。
那些 NavigationLink 按钮不起作用。
位于scrollViewWrapper
NavigationView 内。我创建了一个测试按钮,它只是一个简单的按钮,似乎可以工作。所以有些事情我在 NavigationLink 和 custom 上做得不对UIViewControllerRepresentable
。
这是我使用自定义包装器的地方。
入职视图:
自定义 ScrollView Wrapper 代码:
swift - 按下 NavigationLink 时调用 SwiftUI 按钮操作,并且主视图不会更新
我有一个看起来像这样的 SwiftUI 视图(出于隐私原因进行了简化):
导航工作得很好,并且DetailView
有更新的状态(toggle
只是切换状态),但是当我回到主视图时,状态没有更新。为什么是这样?
而且我需要按钮与文本不同 - 这可能吗?我希望按下按钮来执行按钮操作,而该行的其余部分充当NavigationLink
. 我怎样才能做到这一点?
self.completed
是一个CompletionStatus
类,它是一个,ObservableObject
具有一个@Published
属性status
。task
是@State
类型Task
,其中包含completed
(CompletionStatus) 属性。如果我能提供更多信息,请告诉我。
这里分别是Task
和CompletionStatus
结构体和类:
swiftui - SwiftUI NavigationLink 按钮是灰色且不可触摸
我无法NavigationLink
在 SwiftUI 中获得。该按钮是可见的,但不幸的是这是灰色的,无法单击。
这是代码:
有谁知道这个问题?
navigation - SwiftUI Scrollview 打破 NavigationLink 行为
我在详细信息视图中切换设置时遇到问题,在切换设置后,导航立即弹回主屏幕。只有在主屏幕上使用 ScrollView 而不是 List 时才会发生这种情况。有没有人有解决方案或知道这是否是要修复的错误?我今天等待 Xcode 11 Beta 7,但这并没有解决问题。
ScrollView 的当前行为:
- 单击要转到详细信息屏幕的行
- 点击开始切换收藏设置
- 立即跳回主屏幕
ScrollView 的预期行为(List 的当前行为):
- 单击要转到详细信息屏幕的行
- 点击开始切换收藏设置
- 留在详细信息屏幕上,并能够一遍又一遍地切换最喜欢的设置
单击返回按钮返回主屏幕
/li>
swiftui - SwiftUI:NavigationLink 的目标在其父项被重绘时初始化
所以我有一个ParentView
,它有一个NavigationLink
,导致一个UIViewControllerRepresentable
-conforming PageViewController
。
现在,它ParentView
也有一些出版商的订阅。每当那个被触发时,不仅会ParentView
重绘它的所有内容(它应该),它还会重新初始化(已经呈现)PageViewController
。
这会导致卡顿/故障,因为PageViewController
它已经在呈现和使用不断被重置的控制器。
下面是ParentView
and PageViewController
(没有 Coordinator 的东西),两者都很普通。带注释的警戒线是我试图阻止它更新(如果已经显示)的黑客行为。它有帮助,但每次滑动时它仍然结结巴巴。
所以问题是:当它的呈现视图被重绘时,我们如何防止更新呈现的 ViewController-wrapped-View?
apple-watch - 在 SwiftUI 中以编程方式使用 NavigationLink
如果满足某些条件,我正在寻找一种方法来在应用程序启动时从 NavigationView“一级”显示我的 WatchOS 应用程序中的视图。
我想要与自己按下 NavigationLink 相同的效果,即能够再次返回 NavigationView,如果我选择立即显示所需的视图,这是不可能的。
WatchOS 也无法使用“navigationBarItems”,这使得如果不首先实际单击 NavigationLink 就无法向后导航。
有没有办法以编程方式“单击” NavigationLink 以实现此目的?
ios - 在遗留项目中支持 SwiftUI 导航
我想知道是否有任何方法可以在遗留项目中开始使用SwiftUI,并且仍然能够在SwiftUI场景中来回导航。也就是说,假设我只想为我去年一直在从事的项目支持最后一个iOS 13 。一切都建立在UIKit之上,导航以通常的方式呈现或推送视图控制器。
现在我想开始使用 SwiftUI,所以我在项目的 General 中启用了该选项,目标为iOS 13 ,在Info.plist 中获取我的SceneDelegate和我的新键值对。为了导航到Swift UI场景,我可以推送一个UIHostingViewController,它的 rootView 将是我新设计的SwiftUI视图。但是如何使用NavigationLink推送旧的UIKit视图控制器?