我創建了一個新的 SwiftUI 檔案并使用 xcode,我從字面上添加了默認的 tabview,它拋出了一個錯誤。我試圖通過創建一個新的 Xcode 專案來重現此錯誤,但它運行良好。如果我洗掉 TabView 代碼,它構建得很好。
import SwiftUI
struct TabView: View {
@State var tabSelection = 0
var body: some View {
Text("wowcool")
TabView(selection: .constant(1)) {
Text("Tab Content 1").tabItem { Text("Tab Label 1") }.tag(1)
Text("Tab Content 2").tabItem { Text("Tab Label 2") }.tag(2)
}
}
}
struct TabView_Previews: PreviewProvider {
static var previews: some View {
TabView()
}
}
以下是我得到的:

嘗試修復:
- 重新啟動 Xcode
- 清潔專案
- 已洗掉派生資料
- 重新啟動計算機
目前在 Xcode 13.3 和 macOS 12.3 上
uj5u.com熱心網友回復:
您正在覆寫 SwiftUI 的 TabView。將您的視圖重命名為其他名稱。
uj5u.com熱心網友回復:
這是由于型別沖突(您將自定義視圖命名為與系統一相同),所以
解決方案1:
struct MyTabView: View {
...
TabView(selection: .constant(1)) {
...
}
解決方案2:
struct TabView: View {
...
SwiftUI.TabView(selection: .constant(1)) {
...
}
注意:我會始終推薦解決方案 1,并且不要使用與系統型別相同的名稱。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/446765.html
