Várias linhas para títulos grandes em barras de navegação no iOS 11

11

É possível ter os novos títulos grandes para barras de navegação no iOS 11 mostrar várias linhas? O aplicativo App Store faz isso, mas não consigo encontrar nada na documentação atual para fazer isso. O comportamento padrão mostra apenas uma linha com reticências, se for muito longa.

    
por Berry Blue 05.10.2017 в 07:43
fonte

1 resposta

2

Adicione o seguinte código na viewWillAppear:

    navigationController?.navigationBar.prefersLargeTitles = true
    self.navigationController?.navigationItem.largeTitleDisplayMode = .automatic

    self.title = "Hello big text, For navigation large style bar"
    navigationController?.navigationBar.largeTitleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.black, NSAttributedStringKey.font : UIFont.preferredFont(forTextStyle: .largeTitle)]

    var count = 0
    for item in(self.navigationController?.navigationBar.subviews)! {
        for sub in item.subviews{
            if sub is UILabel{
                if count == 1 {
                    break;
                }
                let titleLab :UILabel = sub as! UILabel
                titleLab.numberOfLines = 0
                titleLab.text = self.title
                titleLab.lineBreakMode = .byWordWrapping
                count = count + 1
            }
        }

    }
    self.navigationController?.navigationBar.layoutSubviews()
    self.navigationController?.navigationBar.layoutIfNeeded()

Enfrentando o problema com o botão Voltar, será atualizado em breve.

    
por Rahul_Chandnani 20.12.2017 / 14:35
fonte