[英]swift iOS larger titles text with different colors
我正在尝试确定导航栏标题中是否有以下文本 DRN1 黑色 DRN 和红色 1
我目前使用以下代码
self.tabBarController?.navigationItem.title = "DRN1"
如果我可以在大标题中包含 2 行文本,就像我现在想要播放的第二行一样,那就太好了。
self.tabBarController?.navigationItem.title = "Now Playing"
您需要将自定义UIView
和UILabel
添加到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.