2017-09-27 85 views
4

我想在iOS 11中使用Swift使用新的大标题系统。当标题变得太长时(请参阅图像示例),它会添加...而不是换行或缩小文本大小。我如何添加换行符?如何在iOS 11中打破较长的大标题?

Example image with long title

下面是一些代码,我使用设置标题:

self.navigationController?.navigationBar.prefersLargeTitles = true 
self.navigationController?.navigationBar.largeTitleTextAttributes = [NSForegroundColorAttributeName: MyGlobalVariable.themeMainColor] 
self.navigationController?.navigationBar.largeTitleTextAttributes = [NSFontAttributeName: UIFont.systemFont(ofSize: 22)] 
navigationItem.title = "Search by Name" 
+0

我敢肯定,只有一行被允许在标题。我没有看到两行标题。 – CoderFrom94

+0

从我读过的所有内容来看,你可能是对的。我认为我需要从另一个角度来处理我的问题。谢谢! – Coltuxumab

+0

很酷,我昨天证实,只有一个像标题可能。对不起,我没有更新它。赶上了工作。 :) – CoderFrom94

回答

1

试试这个:

for navItem in (self.navigationController?.navigationBar.subviews)! { 
    for itemSubView in navItem.subviews { 
     if let largeLabel = itemSubView as? UILabel { 
      largeLabel.text = self.title 
      largeLabel.numberOfLines = 0 
      largeLabel.lineBreakMode = .byWordWrapping 
     } 
    } 
} 

它为我工作。

enter image description here