如何在Swift中动态更改视图(例如,设置页面)?

时间:2020-08-08 21:49:34

标签: swift swiftui

我在https://www.simpleswiftguide.com/how-to-use-userdefaults-in-swiftui/找到了一个很好的设置页面教程,并将其实现到我的应用程序中。但是,设置页面是完全静态的,不能根据用户的选择进行更改。程序通常需要具有约束条件,其中字段B的允许选择可能会根据用户对字段A的选择而改变。如何在单击侦听器中添加可调用UIViewController的设置,以某种方式更改视图的结构它已经加载后?我正在使用UIHostingController来包装SwiftUI View,它被声明为结构而不是类。如果我尝试通过self.view访问该视图,则看不到任何相关的功能可以使我访问该视图的内部工作原理或字段。

2 个答案:

答案 0 :(得分:0)

在Swift中似乎没有像在Android中那样简单的方法来执行此操作。我将使用UIAlertController序列,每个序列有多个选择。与具有“ var body”协议的View结构不同,可以根据用户已设置的内容以编程方式构建警报。

答案 1 :(得分:0)

if else中的一些View

if $userSettings.username.wrappedValue == "username"{
    SomeView()
}else{
    SomeOtherView()
}