28得票2回答
SwiftUI 错误:"包含控制流语句的闭包不能与函数构建器 'ViewBuilder' 一起使用"。

我试了一个SwiftUI教程,“处理用户输入”。 https://developer.apple.com/tutorials/swiftui/handling-user-input 我尝试使用for而不是ForEach来实现它。 但是出现了一个错误:"Closure containing ...

8得票2回答
在SwiftUI中从导航栈中移除屏幕

我正在使用NavigationView中的NavigationLink来导航屏幕。 如何从导航堆栈中删除屏幕? 不仅仅是隐藏导航“返回”按钮,而是完全从堆栈中删除屏幕? 例如,我有如下屏幕链:A -> B -> C 如何删除屏幕B以从C返回到A? 或者,另一个例子,如何删除屏幕...

14得票1回答
如何在使用SwiftUI时在视图体内使用变量?

我试图在SwiftUI的foreach循环中使用一个变量并对其进行修改。 以下是我正在使用的代码。请告诉我如何在视图的主体内修改该值。struct SearchView : View { var chatmember = ChatMember(with: JSON()) var body:...

26得票6回答
SwiftUI NavigationLink自动弹出

我有一个简单的用例,使用NavigationLink将一个屏幕推入另一个屏幕。在iOS 14.5 beta(1,2,3)中出现了奇怪的行为,即推送的屏幕被推出后立即弹出。 我成功创建了一个示例应用程序,在其中复制了此问题。我认为原因是存在@ Environment(\.presentation...

9得票1回答
SwiftUI的NavigationView在Apple Watch上缺少返回按钮

我使用SwiftUI创建了一款苹果手表应用程序。该应用程序的主视图是一个列表,内含导航链接到另一个列表。当我在其中一个内部列表中时,返回按钮并不在视图的顶部。 但当我从屏幕侧面滑动时(就像在iOS上一样),我会回到主视图。 有没有办法将返回按钮重新添加到屏幕顶部?新手势是否成为watchOS...

12得票3回答
SwiftUI导航在推送视图中修改列表绑定属性时会弹回

当我从推入的第二层或以上的视图中的数组更新绑定属性时,更改属性后导航会立即反弹。这是在Xcode 13.3 beta,iOS 15上发生的。我创建了一个简单的演示,代码如下。更新列表标题(一级深度)没有问题,导航栈保持不变,并且如果我返回,更改将被发布。但是,当我调整部分标题(两个深度)时,导...

16得票4回答
如何修复Xcode 14警告:NavigationLink呈现的值必须出现在基于NavigationContent的NavigationView内。链接将被禁用。

自从安装Xcode 14以来,我在控制台中打印了以下错误消息: NavigationLink presenting a value must appear inside a NavigationContent-based NavigationView. Link will be disabl...

7得票2回答
SwiftUI中的导航链接在筛选ForEach时无法正常工作。

我有一个分段选择器来过滤ForEach内的列表行,但是当进行过滤时,导航链接将停止工作,它们具有轻击动画,但从未更改视图。我正在使用CoreData用于此卡组。当我在Standard中点击行时,它们正常工作,然后我点击Wild,导航链接仍然工作,但是当我回到Standard时,就会发生这种情况...

7得票3回答
基于NavigationView在SwiftUI的macOS应用中更改窗口大小

我正在为一个包含NavigationView的Mac应用程序使用SwiftUI,其中NavigationView包含侧边栏列表。当选择侧边栏中的项目时,它会更改在详细视图中显示的视图。详细视图中呈现的视图具有不同的大小,这应该导致在显示它们时窗口的大小发生变化。然而,当详细视图的大小发生变化时...

13得票2回答
SwiftUI自定义导航视图中的动画过渡?

在SwiftUI中,是否有一种方法可以更改NavigationView/NavigationLink的标准行为,即从一个视图滑动到下一个视图?我想要自定义动画/转换,例如淡入淡出。 我已经尝试了一段时间,并解决了其中一半的问题,但在第二半部分中遇到了困难。这是代码:struct Conten...