iOS 11中导航栏中的大型标题的多行

Ber*_*lue 14 uinavigationbar ios ios11

是否有可能让iOS 11中导航栏的新大标题显示多行?App Store应用程序执行此操作但我在当前文档中找不到任何内容来执行此操作.标准行为只显示带有省略号的一行,如果它太长.

在此输入图像描述

Rah*_*ani 5

将以下代码添加到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()
Run Code Online (Sandbox Code Playgroud)

后退按钮面临的问题将很快更新。

  • 这不起作用,标签变为多行但导航栏不会增加其高度@Rahul_Chandnani (3认同)
  • 也许您可以在分配计数的地方使用 break 。 (2认同)