У кого-нибудь есть все готовые реализованные поисковики на тв с swiftui? - PullRequest
0 голосов
/ 13 января 2020

Кто-нибудь уже все реализовал панель поиска с использованием компонента Apple, такого как UISearchBar с swiftui на ТВ?

Я пробовал это UISearchBar(frame: .zero), но я получил эту ошибку init(frame:)' is unavailable in tvOS

Я только найдено решение для ios ..

Спасибо: D

1 Ответ

0 голосов
/ 14 января 2020

Схема начальной настройки должна быть такой, как показано ниже. Конечно, логика c поиска / фильтрации / отображения результатов определяется приложением c.

import SwiftUI
import TVUIKit

struct SearchView: UIViewControllerRepresentable {

    func makeUIViewController(context: UIViewControllerRepresentableContext<SearchView>) -> UINavigationController {
        let controller = UISearchController(searchResultsController: context.coordinator)
        controller.searchResultsUpdater = context.coordinator
        return UINavigationController(rootViewController: UISearchContainerViewController(searchController: controller))
    }

    func updateUIViewController(_ uiViewController: UINavigationController, context: UIViewControllerRepresentableContext<SearchView>) {
    }

    func makeCoordinator() -> SearchView.Coordinator {
        Coordinator()
    }

    typealias UIViewControllerType = UINavigationController

    class Coordinator: UIViewController, UISearchResultsUpdating {
        func updateSearchResults(for searchController: UISearchController) {
            // do here what's needed
        }
    }
}

struct ContentView: View {
    @State private var text: String = ""
    var body: some View {
        VStack {
            SearchView()
            Spacer()
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...