我正在SwiftUI中制作一个应用程序,涉及回答是或否的问题。因此,我创建了一个名为YesOrNoView的子视图。这个子视图有两个按钮,一个标记为yes,另一个标记为no。该视图接受question的绑定变量,该变量根据用户的答案返回true或false。它还接受questionsAnswered的绑定变量,并在按下任一按钮时递增该变量。这个行为适用于游戏中的大多数问题,但对于最后一个问题,我希望它执行自定义逻辑,将用户带到一个不同的视图。为此,我尝试使视图接受一个自定义操作/方法,我可以从任何按钮操作逻辑调用。理想情况下,这个动作也是可选的,这样我就不用在99%的时间里,不使用它了。
- 如何将函数作为可选参数传递到视图中,然后在按下所述视图中的按钮时运行该操作?**
我尝试使用添加操作
struct YesOrNoView<Content: Action>: View {
...但在其作用域中找不到Action或Action。
我还试着用
struct YesOrNoView<Content>: View {
但是我得到一个错误,说不能推断Content变量类型。
任何帮助都将不胜感激。
2条答案
按热度按时间myzjeezk1#
它将clickAction返回到视图
用法:
ao218c7q2#
我在@JoakimDanielson的帮助下设法弄明白了。诀窍是传入一个空函数作为默认值。
谢谢大家的帮助。