Несоответствие макета UISearchBar между iOS 11 и iOS 9.3 - PullRequest
0 голосов
/ 06 сентября 2018

Панель поиска в iOS 9.3 скрывается за табличным представлением, хотя и является частью его заголовка. Как я могу сделать это совместимым между версиями iOS?

Одно из таких отличий:

на iOS 11

image

на iOS 9.3

image

in SelectCountryViewController: UITableViewController, UISearchBarDelegate, UISearchResultsUpdating:  

    self.tableView.delegate = self;

            configureSearchController()
            self.automaticallyAdjustsScrollViewInsets = false;
            definesPresentationContext = true

let searchButton: UIBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: self, action: #selector(searchButtonAction))
        searchButton.image = UIImage(named: "search")
        self.navigationItem.rightBarButtonItem = searchButton

    refreshController.attributedTitle = NSAttributedString(string: "")
            refreshController.addTarget(self, action: #selector(refreshSelector), for: .valueChanged)
            tableView.addSubview(refreshController)


    func configureSearchController()
        {

            resultsController.tableView.delegate = self
            resultsController.tableView.dataSource = self

            self.searchController = UISearchController(searchResultsController: self.resultsController)
            //self.tableView.tableHeaderView = self.searchController.searchBar
            self.searchController.searchResultsUpdater = self

            self.searchController.dimsBackgroundDuringPresentation = false
            searchController.searchBar.delegate = self
            self.searchController.searchBar.scopeButtonTitles = []

            for subView in searchController.searchBar.subviews {
                for subViewOne in subView.subviews {
                    if subViewOne is UITextField {
                        searchTextField = subViewOne as! UITextField
                        subViewOne.backgroundColor = UIColor.white
                        break
                    }
                }
            }

            self.automaticallyAdjustsScrollViewInsets = false;
            extendedLayoutIncludesOpaqueBars = true
            definesPresentationContext = true

        }

     func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool {
         //   tableView.setContentOffset(self.navigationItem, animated: true)
            searchController.searchBar.barTintColor = UIColor.white
            //searchController.searchBar.layer.borderColor = UIColor.white.cgColor
          searchTextField.backgroundColor = UIColor.searchBarTextFieldGrey()
            return true
        }
        func searchBarTextDidEndEditing(_ searchBar: UISearchBar) {
            self.searchController.searchBar.showsCancelButton = false
        //    searchController.searchBar.barTintColor = nil
            searchTextField.backgroundColor = UIColor.white
           searchController.searchBar.barTintColor = nil


        }


        override func viewWillDisappear(_ animated: Bool) {
            self.navigationController?.navigationBar.shadowImage = nil

        }

      @objc func refreshSelector()
        {
            if(!searchLoaded)
            {
                searchLoaded = true

               self.tableView.tableHeaderView = searchController.searchBar
                print( "Got ya")
                self.navigationItem.rightBarButtonItem = nil
            }
            refreshController.endRefreshing()

        }

        @objc func searchButtonAction() {

            if(!searchLoaded)
            {
                searchLoaded = true
                self.tableView.tableHeaderView = searchController.searchBar
             //   self.navigationItem.titleView = searchController.searchBar
            }

            self.searchController.searchBar.becomeFirstResponder()
            self.searchController.searchBar.text = ""
            self.navigationItem.rightBarButtonItem = nil


        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...