Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SwiftUI选项卡视图中动态隐藏选项卡-选项卡混合在更多。。。溢出项_Swiftui - Fatal编程技术网

在SwiftUI选项卡视图中动态隐藏选项卡-选项卡混合在更多。。。溢出项

在SwiftUI选项卡视图中动态隐藏选项卡-选项卡混合在更多。。。溢出项,swiftui,Swiftui,当您在SwiftUI选项卡视图中使用if语句动态隐藏/显示选项卡时,SwiftUI最终会混淆“更多…”溢出选项卡项中的内容 TabView(){ 如果有某种情况{ 视图1() } 视图2() //…更多视图 } 复制步骤:签出,使用隐藏选项卡的“显示月亮”切换。转到“更多…”溢出选项卡,然后选择“垃圾箱”。现在将显示不正确的视图-“烟雾”而不是“垃圾”视图: 看起来像一个迅捷的bug(FB9078171)。在动态显示和隐藏选项卡时,是否有解决方法来获得正确的行为 试试这个 TabView()

当您在SwiftUI选项卡视图中使用
if
语句动态隐藏/显示选项卡时,SwiftUI最终会混淆“更多…”溢出选项卡项中的内容

TabView(){
如果有某种情况{
视图1()
}
视图2()
//…更多视图
}
复制步骤:签出,使用隐藏选项卡的“显示月亮”切换。转到“更多…”溢出选项卡,然后选择“垃圾箱”。现在将显示不正确的视图-“烟雾”而不是“垃圾”视图:

看起来像一个迅捷的bug(FB9078171)。在动态显示和隐藏选项卡时,是否有解决方法来获得正确的行为

试试这个

TabView() {
    if someCondition {
        View1()
    }
    View2()
    // ... more views
}
.id(someCondition)          // << here !!
TabView(){
如果有某种情况{
视图1()
}
视图2()
//…更多视图
}

.id(someCondition)//适用于示例;尽管这会产生重置所有选项卡中所有@State/@StateObjects的副作用。为了避免重置,可能会尝试将选项卡内容设置为EquatableView?这里有一个解释:你能更新你的问题以包括所有相关信息吗?Github回购的链接可能会过期。