Панель навигации остается при нажатии и открытии контроллеров представления, создавая странный эффект белого цвета при переходе - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть navigationController, который используется для перемещения между моими ViewControllers.

У меня он настроен нормально, и я использую Xib для каждого View Controller.

extension UINavigationController{

    func setup(){

        if #available(iOS 11.0, *) {
            self.navigationController?.navigationBar.prefersLargeTitles = true
            self.navigationController?.navigationItem.largeTitleDisplayMode = .always
        } else {
            // Fallback on earlier versions
        }

        self.navigationBar.isTranslucent = true
        self.view.backgroundColor = UIColor.red


        self.navigationBar.clipsToBounds = true
        self.navigationBar.setBackgroundImage(UIImage(), for: .default)
        self.navigationBar.shadowImage = UIImage()

        self.navigationBar.tintColor = UIColor(hexString: "#373839")

    }
}

Это расширение, которое я использую для своего UINavigation Controller.

А в представлении Push (Second View) мне нужно иметь разные левую и правую кнопки, поэтому я скрываю навигацию назад и имею собственный код для настройки моих кнопок.

func setUI(){


        self.navigationController?.navigationItem.hidesBackButton = true
        self.navigationController?.navigationBar.clipsToBounds = true
        self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
        self.navigationController?.navigationBar.shadowImage = UIImage()

        let imgView = UIImageView(frame: CGRect(x: 0, y: 0, width: 40, height: 40))

        let hostStr = host
        print(hostStr)
        let searchImage    = UIImage(named: "Search_Icon3")!
        let notificationImage  = UIImage(named: "Notification_Icon3")!
        let profileImage  = UIImage(named: "test_Profile")!
        let backImage  = UIImage(named: "Back_Icon3")!

        let searchButton   = UIBarButtonItem(image: searchImage,  style: .plain, target: self, action: #selector(searchViewButtonPressed(_:)))
        let notificationButton   = UIBarButtonItem(image: notificationImage,  style: .plain, target: self, action: #selector(notificationViewButtonPressed(_:)))
        let profileButton = UIBarButtonItem(image: profileImage,  style: .plain, target: self, action: #selector(profileViewButtonPressed(_:)))
        let backButton   = UIBarButtonItem(image: backImage,  style: .plain, target: self, action: #selector(backButtonPressed(_:)))



        self.navigationItem.rightBarButtonItems = [profileButton,notificationButton,searchButton]
        self.navigationController?.navigationBar.tintColor = UIColor(hexString: "#373839")
        self.navigationItem.leftBarButtonItem = backButton

        self.setValues()
    } 

Но когда я нажимаю от ViewController 1 до 2 и нажимаю от 2 до 1, я получаю этот странный эффект присутствия панели навигации между переходами

image


image

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