Мерцание во время перехода, когда панель поиска (в пределах большой панели заголовка) коснулась - Swift 4.2 - PullRequest
0 голосов
/ 28 марта 2019

Я добавил строку поиска в панель навигации большим заголовком.Я сталкиваюсь с проблемой мерцания, когда строка поиска нажимается для ввода в нее.

Вот видео, объясняющее проблему:

enter image description here

Код, который я написал для достижения этой цели:

override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(true)
        self.title = "Leads"
        self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(addNewLeadsAction(_:)))
        let mysearchController = UISearchController(searchResultsController: nil)
        mysearchController.searchResultsUpdater = self
        mysearchController.searchBar.placeholder = "Search Lead"
        mysearchController.searchBar.showsCancelButton = true
        mysearchController.searchBar.barStyle = UIBarStyle.default
        mysearchController.searchBar.backgroundColor = UIColor(patternImage: Common.gradientImage(view: (self.navigationController?.navigationBar)!))
        if let textfield = mysearchController.searchBar.value(forKey: "searchField") as? UITextField {
            textfield.textColor = UIColor.white
            if let backgroundview = textfield.subviews.first {
                backgroundview.backgroundColor = .white
                backgroundview.layer.cornerRadius = 10
                backgroundview.clipsToBounds = true
            }
        }
        for searchBarView in mysearchController.searchBar.subviews{
            for cancelButtonView in searchBarView.subviews{
                if cancelButtonView.isKind(of: UIButton.self) {
                    let filterButton:UIButton = cancelButtonView as! UIButton
                    filterButton.isEnabled = true
                    filterButton.setTitle("", for: .normal)
                    let image1 = UIImage(named: "filterIcon")?.withRenderingMode(.alwaysTemplate)
                    filterButton.setImage(image1, for: .normal)
                    filterButton.contentMode = .scaleAspectFit
                    filterButton.tintColor = .white
                    filterButton.addTarget(self, action: #selector(filterAction(_:)), for: .touchUpInside)
                }
            }
        }
        self.navigationItem.searchController = mysearchController
        self.definesPresentationContext = true
        leadsTableView.reloadData()
    }

Попытка сделать переход плавным - вот чего я хочу добиться.Вот что я уже пробовал:

iOS 11 UISearchBar в UINavigationBar

Панель навигации + Контроллер поиска + Большое название: Линия волос во время прокрутки

Буду признателен за любую помощь

...