iOS пользовательская панель навигации titleView подпредставления не отображаются должным образом - PullRequest
0 голосов
/ 13 марта 2020

iOS панель навигации пользовательских титров subview не отображается должным образом, когда родительский viewController выдвинут из другого контроллера представления.

Пользовательский вид заголовка в root вид enter image description here

Пользовательский вид заголовка в контроллере вида после нажатия с другого контроллера вида

enter image description here

Код, который я пробовал для пользовательского TitleView

   let height = CGFloat(500)
    self.navigationController?.navigationBar.frame = CGRect(x: 0, y: 50, width: view.frame.width, height: height)
    self.navigationController?.navigationBar.backgroundColor = .blue
    let navView = UIImageView()
    navView.frame = CGRect(x: 0, y: 0, width: view.frame.width-100, height: height)
    navView.backgroundColor = .red
    navigationItem.titleView = navView

Suview

        let oneLabel = UILabel()
        oneLabel.frame = CGRect(x: 50, y: navView.frame.size.height-13, width: 26, height: 26)
        oneLabel.text = "1"
        oneLabel.textColor = .white
        oneLabel.backgroundColor = UIColor(hexString: Constants.greenColor)
        oneLabel.textAlignment = .center
        navView.addSubview(oneLabel)

        oneLabel.clipsToBounds = true
        oneLabel.layer.cornerRadius = 13

1 Ответ

0 голосов
/ 13 марта 2020

Общая высота надписи равна 26, а вы уменьшили только 13 от высоты изображения, которая показывает половину надписи. Сделайте значение y для метки примерно таким: y: navView.frame.size.height - 30

...