SwiftUI TabView重新排列Tab顺序保留

时间:2019-12-09 19:29:18

标签: ios swift swiftui tabview uitabview

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)时,应用程序会将这些选项卡重置为其原始顺序!

Demo of issue

我不确定这是SwiftUI错误还是我应该一直在听的onRearrange钩子或什么?

0 个答案:

没有答案