AnyView 阻止了视图的更新。
创始人
2024-08-23 08:00:08
0

在 SwiftUI 中,如果使用了 AnyView 包装视图,它将阻止视图的更新。这通常发生在使用条件语句或循环时。以下是一个使用 AnyView 的例子:

struct ContentView: View {
    @State private var isShowingText = false
    
    var body: some View {
        VStack {
            if isShowingText {
                Text("Hello, World!")
            } else {
                AnyView(EmptyView())
            }
            
            Button("Toggle") {
                self.isShowingText.toggle()
            }
        }
    }
}

在上面的示例中,当 isShowingTexttrue 时,将显示文本 "Hello, World!",否则将显示空视图。但是,由于使用了 AnyView 包装空视图,它会阻止视图的更新。因此,无论 isShowingText 的值如何变化,都不会触发视图的更新。

要解决这个问题,可以避免使用 AnyView,而是使用一个条件语句来显示不同的视图。以下是修改后的代码示例:

struct ContentView: View {
    @State private var isShowingText = false
    
    var body: some View {
        VStack {
            if isShowingText {
                Text("Hello, World!")
            } else {
                EmptyView()
            }
            
            Button("Toggle") {
                self.isShowingText.toggle()
            }
        }
    }
}

这样,当 isShowingText 的值发生变化时,视图将根据条件来更新,并正确显示对应的视图。

相关内容

热门资讯

现有关情况通报如下!有哪些免费... 现有关情况通报如下!有哪些免费的wpk作弊码,德普之星辅助器app,果然存在有挂(果真有挂)小薇(辅...
记者发布!hhpoker作弊实... 记者发布!hhpoker作弊实战视频,wpk德州局怎么透视,一直存在有挂(了解有挂)一、游戏安装教程...
分享给玩家!wpk俱乐部怎么作... 分享给玩家!wpk俱乐部怎么作弊,sohoo开挂辅助,本来真的是有挂(有挂秘笈)1、分享给玩家!wp...
近期!hhpoker有作弊的吗... 近期!hhpoker有作弊的吗,德普之星怎么开辅助,果然真的有挂(有挂秘笈)1、上手简单,内置详细流...
盘点一款!hhpoker一直输... 盘点一款!hhpoker一直输有挂吗,微扑克微乐辅助,一直有挂(有挂猫腻)1、进入游戏-大厅左侧-新...
据监测!wepoker有透视功... 据监测!wepoker有透视功能吗,德普之星辅助软件,都是是真的有挂(有挂透视)1.德普之星辅助软件...
推荐攻略!hhpoker是正规... 推荐攻略!hhpoker是正规的吗,wepoker破解器激活码,一贯存在有挂(有挂方法)1、打开软件...
科技介绍!wpk插件,wpk辅... 科技介绍!wpk插件,wpk辅助哪里买,原来真的有挂(新版有挂)1、上手简单,内置详细流程视频教学,...
今日!佛手在线大菠萝为什么都输... 今日!佛手在线大菠萝为什么都输,智星德州可以透视吗,本来真的有挂(确实有挂)1、智星德州可以透视吗辅...
一分钟带你了解!wepoker... 一分钟带你了解!wepoker辅助真的假的,pokemmo手机脚本辅助器,总是是有挂(有挂猫腻)1、...