繁体   English   中英

swift iOS 较大的标题文本具有不同的颜色

[英]swift iOS larger titles text with different colors

我正在尝试确定导航栏标题中是否有以下文本 DRN1 黑色 DRN 和红色 1

我目前使用以下代码

self.tabBarController?.navigationItem.title = "DRN1"

如果我可以在大标题中包含 2 行文本,就像我现在想要播放的第二行一样,那就太好了。

 self.tabBarController?.navigationItem.title = "Now Playing"

您需要将自定义UIViewUILabel添加到NavigationBar

代码看起来像这样,

let titleView = UIView(frame: CGRect(x: 50, y: 0, width: (self.navigationController?.navigationBar.frame.size.width ?? 200) - 125, height: self.navigationController?.navigationBar.frame.size.height ?? 150)) // Custom title view

let titleLabel = UILabel(frame: CGRect(x: 0, y: 5, width: titleView.frame.size.width, height: titleView.frame.size.height/2))
titleLabel.textAlignment = NSTextAlignment.center
titleLabel.font = UIFont(name: "HelveticaNeue", size: 18.0)
titleLabel.numberOfLines = 0


let titleString = NSMutableAttributedString(string:"DRN1")   
let myRange = NSRange(location: 3, length: 1) // range starting at location 3 with a lenth of 1: "Strings"
titleString.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor.red, range: myRange) // MultiColor title

titleLabel.attributedText = titleString  
titleView.addSubview(titleLabel)


let titleLabel1 = UILabel(frame: CGRect(x: 0, y: titleView.frame.size.height/2, width: titleView.frame.size.width, height: titleView.frame.size.height/2))
titleLabel1.textAlignment = NSTextAlignment.center
titleLabel1.font = UIFont(name: "HelveticaNeue", size: 15.0)
titleLabel1.numberOfLines = 0

titleLabel1.text = "Now Playing"
titleView.addSubview(titleLabel1)

self.navigationItem.titleView = titleView  //Add customView to navigationBar

输出将如下图所示,

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM