Swift iOS 13 - область видимости в панели поиска не отображается в TitleView - PullRequest
0 голосов
/ 08 октября 2019

До iOS 13, когда панель поиска стала первым респондентом, приведенный ниже код отображал панель области действия с двумя кнопками панели области действия, что является предполагаемым поведением.

В iOS 13 панель поиска по-прежнему функционирует правильно, однако область видимости больше не отображается. Документация Apple для UISearchBarDelegate, кажется, предлагает использовать .setShowsScope (show: (bool), animated: (bool)) и .sizeToFit () для iOS 13. Однако эти вызовы функций, похоже, не имели никакого эффекта. Ищете идеи для отображения панели области, как это было в iOS 12 и более ранних версиях.

        func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) {
           //eventSearchBar is name of UISearchBar
           //eventSearchBar.delegate has already been called out as self
           //eventSearchBar is not owned by a UISearchController

        self.navigationController?.setNavigationBarHidden(true, animated: true)
        eventSearchBar.setShowsCancelButton(true, animated: true)
        eventSearchBar.frame.size.height = 68
        TitleView.frame.size.height = 132
        eventSearchBar.scopeButtonTitles = ["Category", "Project"]
        eventSearchBar.showsScopeBar = true

        if eventSearchBar.text! == "" {
            self.tableView.reloadData()
        } else {
            if eventSearchBar.selectedScopeButtonIndex == 0 {
                self.loadSearchElements(self.refreshControl)
            } else {
                self.loadProjectSearchElements(self.refreshControl)
            }

        }
    }

1 Ответ

1 голос
/ 08 октября 2019

Проблема решена. Проблема заключается в том, что объект searchBar раскадровки был обновлен для iOS 13. Решение заключалось в том, чтобы удалить панель поиска из viewController в раскадровке и заменить ее новым searchBar, перетаскиваемым из списка объектов. Старый и новый searchBar выглядят одинаково, но связь с их свойствами делегата явно отличается.

...