Заголовок UINavigationBar НЕ отцентрирован горизонтально - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть раскадровка с контроллером навигации и двумя контроллерами представления, сложенными поверх него, как таковые: enter image description here

Каким-то образом (и по причинам, которые я хотел бы понять) длина текста в UINavigationBar первого UIViewController влияет на центрирование текста в UINavigationBar второго View Controller. Почему это происходит и как это исправить?

Вот пример с более короткой длиной текста в первом контроллере представления:

enter image description here

Все, что я сделал, это изменил текст с «Privacy Privacy Privacy» на «Privacy» в UINavigationItem в IB.

Почему это происходит и что за починка? Можно ли это исправить в IB без кода?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Это возможно через раскадровку, вы достигаете этого, устанавливая кнопку возврата для элемента навигации. Проверьте прикрепленный скриншот.

Screenshot

0 голосов
/ 30 апреля 2018

Поскольку в secondViewController заголовок кнопки back будет заголовком firstViewController. Вот почему во втором контроллере представления заголовок кнопки «Назад» становится Конфиденциальность Конфиденциальность Конфиденциальность , поэтому он немного толкает основной заголовок вправо.

Вы можете остановить свой secondViewController, чтобы установить backButton заголовок к предыдущему заголовку экрана, написав этот код в вас secondViewController.

override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "back", style: .plain, target: self, action: #selector(didTapBackButton))

    }
    @objc func didTapBackButton() {
        //Do what ever you want to do when tap on back button of UINavigationBar here.
    }
...