如何使用SwiftUI呈现新视图?

时间:2019-08-06 00:29:28

标签: swift swiftui

我正在开发数据库搜索应用程序,并希望显示类似https://imgur.com/a/GUN6MiX这样的结果视图。

actionSheet不是正确的答案。

        HStack {
            TextField("SearchText", text: $text)
                .background(Color.white)
                .shadow(radius: 10.0)
                .foregroundColor(.black)
                .padding(.trailing, -7)

            Button(action: {
                let r = getSearchResult(query: self.text)
                if r is Int {
                    print("ErrorCode: \(r as! Int)")
                } else {
                    self.holder.r = Result(sSearchResult: r as! SearchResult)
                }
            }){
                Text("Search")
                    .font(.system(size: 10))
                    .foregroundColor(.white)
                    .padding(.leading, 3)
                    .padding(.trailing, 3)
            }
        }

1 个答案:

答案 0 :(得分:1)

要显示新视图,请将视图包装在NavigationView中,并使用NavigationButton而不是普通的Button。将新视图放入目标参数中,例如NavigationButton(destination: SomeNewView()) { ... }

NavigationView {
    HStack {

        TextField("SearchText", text: $text)
            .background(Color.white)
            .shadow(radius: 10.0)
            .foregroundColor(.black)
            .padding(.trailing, -7)

        NavigationButton(destination: SomeView()) {
            Text("Search")
                .font(.system(size: 10))
                .foregroundColor(.white)
                .padding(.leading, 3)
                .padding(.trailing, 3)
        }
    }
}