Xcode SwiftUI:生成导航栏时出现永久性诊断错误
我是SwiftUI新手,我正在尝试使用Xcode 12.4构建这个导航栏: 以下是我的全部观点:Xcode SwiftUI:生成导航栏时出现永久性诊断错误,xcode,swiftui,Xcode,Swiftui,我是SwiftUI新手,我正在尝试使用Xcode 12.4构建这个导航栏: 以下是我的全部观点: struct PreferencesView: View { var body: some View { NavigationView { ZStack { //Background Color Color("DosDark") .edgesIgnoringSafeArea(.all)
struct PreferencesView: View {
var body: some View {
NavigationView {
ZStack {
//Background Color
Color("DosDark")
.edgesIgnoringSafeArea(.all)
Text("Hey.")
//Nav bar styles
.navigationBarTitleDisplayMode(.inline)
.toolbar {
ToolbarItem(placement: .principal) {
VStack {
Text("Preferences")
.navBarTitleDark()
}
}
}
.navigationBarItems(
leading: NavClose(), //<-- This is where the trouble starts
trailing: NavAbout()
)
}
}
}
}
struct NavClose: View {
var body: some View { //<-- Inexplicable error here
Button(action: {
print("Close...")
}){
Image("close-blue")
}
}
}
struct NavAbout: View {
var body: some View {
Button(action: {
print("Show about stuff...")
}) {
Image("about-blue")
}
}
}
结构首选项视图:视图{
var body:一些观点{
导航视图{
ZStack{
//背景色
颜色(“深”)
.edgesIgnoringSafeArea(.all)
文本(“嘿。”)
//导航栏样式
.navigationBarTitleDisplayMode(.inline)
.工具栏{
工具栏项(位置:。主体){
VStack{
文本(“首选项”)
.navBarTitleDark()
}
}
}
.航海术语(
前导:NavClose(),//在Xcode 12.1/iOS 14.1上运行良好,但是。navigationBarItems
因首选工具栏而被弃用,并且可能您的新版本已经存在冲突
解决方案是只使用带有相应位置的工具栏,如
.toolbar {
ToolbarItem(placement: .navigationBarLeading) {
NavClose()
}
ToolbarItem(placement: .navigationBarTrailing) {
NavAbout()
}
ToolbarItem(placement: .principal) {
VStack {
Text("Preferences")
.navBarTitleDark()
}
}
}
非常感谢您的帮助!我不知道.navigationBarItems
(很好地摆脱了它)。啊,我发现了问题。我有一个名为按钮的typealias
,Xcode被它卡住了。噢!