6

看起来 Apple 的TabView自动支持重新排列,但是在您单击选项卡后它很快就会失去重新排列。

这是我的游乐场代码。

import SwiftUI
import PlaygroundSupport

struct ContentView: View {
    @State var arr = ["1","2","3","4","5","6"]
    var body: some View {
        TabView {
            ForEach(self.arr, id: \.self) { name in
                Text("Tab \(name) content")
                    .tabItem {
                        Image(systemName: "\(name).square.fill")
                        Text(name)
                    }
            }
        }
        .font(.headline)
    }
}

PlaygroundPage.current.setLiveView(ContentView())

这是我在 gif 中执行的步骤。

  1. 我从标签“1”开始
  2. 我转到“更多”选项卡,然后单击“编辑”
  3. 我将标签“2”与标签“3”交换
  4. 关闭重新排列屏幕
  5. 然后,当我单击选项卡“2”(现在位于位置 3)时,应用程序会将选项卡重置为其原始顺序!

问题演示

我不确定这是否是 SwiftUI 错误,或者是否有我应该一直在听的 onRearrange 钩子或什么。

4

0 回答 0