Как создать и изменить размер высоты панели навигации iOS 11 - PullRequest
0 голосов
/ 22 февраля 2019

они не работают!

// Add bar button item

override func viewDidLoad() {
    super.viewDidLoad()

    var customBar: UINavigationBar = UINavigationBar()
    title = "Some Title"

    self.customBar.frame = CGRect(x:0, y:0, width:view.frame.width, height:(navigationController?.navigationBar.frame.height)! + 50)

    self.customBar.backgroundColor = UIColor.green

    self.view.addSubview(customBar)

} 

спасибо за помощь !!!

1 Ответ

0 голосов
/ 22 февраля 2019

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

Изменение размера панели навигации (с помощью любого метода, включая создание подклассов) не поддерживается, и ни один не меняет рамку панели навигации, которой владеютс помощью UINavigationController (навигационный контроллер с радостью помешает изменениям кадра, когда сочтет это целесообразным).Панель навигации должна располагаться в нижней части строки состояния, не перекрывая строку состояния, и с ее естественной высотой. Наконец, внутренняя компоновка панели навигации представляет собой подробности реализации , включая все имена классов и их порядок..Любой код, который основан на упорядочении подпредставлений панели навигации или имен любого из их классов, может столкнуться с проблемами в будущем, поскольку все они являются частными деталями.Пожалуйста, не полагайтесь на них.Если есть какие-то вещи, которые вы хотите сделать с помощью навигационной панели, которые вы не можете

Обойти это - использовать изображение, а затем изменить его высоту.

...