我正在尝试在导航栏中设置标题标签以允许多行。我有将多行代码放入其中的自定义导航控制器代码。我知道该代码已经可以使用,但是我的多行部分无法使用。
let titleLabel = UILabel() titleLabel.frame = CGRectMake(0, 0, self.navigationBar.frame.width, self.navigationBar.frame.height * 2) titleLabel.numberOfLines = 0 titleLabel.lineBreakMode = .ByWordWrapping navigationItem.titleView = titleLabel
但是文本仍然在结尾处消失。我还尝试将其放入单个视图控制器本身,并self.navigationController?.在其前面添加navigationItem相同的结果。
self.navigationController?.
navigationItem
我的代码中缺少某些东西可以防止标题标签使用多行吗?
这是如何创建多行navigationBar标题的代码示例
let label: UILabel = UILabel(frame: CGRectMake(0, 0, 400, 50)) label.backgroundColor = UIColor.clearColor() label.numberOfLines = 2 label.font = UIFont.boldSystemFontOfSize(16.0) label.textAlignment = .Center label.textColor = UIColor.whiteColor() label.text = "This is a\nmultiline string for the navBar" self.navigationItem.titleView = label
Swift 5.x:
let label = UILabel() label.backgroundColor = .clear label.numberOfLines = 2 label.font = UIFont.boldSystemFont(ofSize: 16.0) label.textAlignment = .center label.textColor = .white label.text = "This is a\nmultiline string for the navBar" self.navigationItem.titleView = label