Есть ли способ удалить пробел над панелью навигации? - PullRequest
0 голосов
/ 18 марта 2020

Я пытаюсь удалить пробел над моим навигационным обзором. Просмотр был в порядке, пока я не добавил код для моей панели поиска. Я относительно новичок в использовании SwiftUI, поэтому, если ответ очевиден, я не могу его увидеть. Кто-нибудь знает, как я могу удалить это раздражающее пространство?

Изображение вида: Вид пространства над панелью навигации

import SwiftUI
    import Firebase
    import SDWebImageSwiftUI

    struct Home : View {

        @EnvironmentObject var datas : MainObservable
        @State var myuid = UserDefaults.standard.value(forKey: "UserName") as! String
        @State var show = false
        @State var chat = false
        @State var uid = ""
        @State var name = ""
        @State var pic = ""
        @State var txt = ""

        var body: some View {

            NavigationView{

                ZStack(alignment: .top){

                    NavigationLink(destination: ChatView(name: self.name, pic: self.pic, uid: self.uid, chat: self.$chat), isActive: self.$chat) {

                        Text("")

                    }

                    GeometryReader{_ in

                        VStack{

                            if self.datas.recents.count == 0{

                                if self.datas.norecetns{

                                    Text("No Chat History")
                                }
                                else{

                                    Indicator()
                                }

                            }
                            else{

                                VStack(spacing: 0){

                                    HStack{

                                        Image(systemName: ("magnifyingglass"))

                                        TextField("Search", text: self.$txt)

                                        if self.txt != ""{

                                            Button(action: {

                                                self.txt = ""

                                            }) {

                                                Image(systemName: ("xmark"))
                                            }
                                            .foregroundColor(Color.black)

                                        }

                                    }.padding()

                                    if self.txt != ""{

                                        if  self.datas.recents.filter({$0.name.lowercased().contains(self.txt.lowercased())}).count == 0{

                                            Text("No Results Found").foregroundColor(Color.black.opacity(0.5)).padding()
                                        }
                                        else{

                                            VStack(spacing: 12){

                                                ForEach(self.datas.recents.filter({$0.name.lowercased().contains(self.txt.lowercased())})){i in

                                                    Button(action: {

                                                        self.uid = i.id
                                                        self.name = i.name
                                                        self.pic = i.pic
                                                        self.chat.toggle()

                                                    }) {

                                                        RecentCellView(url: i.pic, name: i.name, time: i.time, date: i.date, lastmsg: i.lastmsg)
                                                    }
                                                }.padding()
                                            }
                                        }
                                    }
                                }.background(Color.white)
                                .padding()

                                ScrollView(.vertical, showsIndicators: false) {

                                    VStack(spacing: 12){

                                        ForEach(self.datas.recents.sorted(by: {$0.stamp > $1.stamp})){i in

                                            Button(action: {

                                                self.uid = i.id
                                                self.name = i.name
                                                self.pic = i.pic
                                                self.chat.toggle()

                                            }) {

                                                RecentCellView(url: i.pic, name: i.name, time: i.time, date: i.date, lastmsg: i.lastmsg)
                                            }
                                        }
                                    }.padding()
                                }
                            }
                        }
                    }
                }.navigationBarTitle("Messages")
                .navigationBarItems(leading:

                        Button(action: {

                            UserDefaults.standard.set("", forKey: "UserName")
                            UserDefaults.standard.set("", forKey: "UID")
                            UserDefaults.standard.set("", forKey: "pic")

                            try! Auth.auth().signOut()

                            UserDefaults.standard.set(false, forKey: "status")

                            NotificationCenter.default.post(name: NSNotification.Name("statusChange"), object: nil)

                        }, label: {

                            Text("Sign Out")
                        })

                        , trailing:

                        Button(action: {

                            self.show.toggle()

                        }, label: {

                            Image(systemName: "square.and.pencil").resizable().frame(width: 25, height: 25)
                        }
                        )

                )
            }
            .sheet(isPresented: self.$show) {

                newChatView(name: self.$name, uid: self.$uid, pic: self.$pic, show: self.$show, chat: self.$chat)

            }
        }
    }
...