新的大型标题功能可以通过largeTitleTextAttributes
自定义,(与任何其他属性一样) dictionary
NSAttributedStringKey
个键。其中一个键是NSAttachmentAttributeName
/ attachment
。
考虑一下:
let attachment = NSTextAttachment()
attachment.image = UIImage(named: "foo")
attachment.bounds = CGRect(x: 0.0, y: 0.0, width: 20.0, height: 20.0)
var largeTitleTextAttributes: [NSAttributedStringKey: Any] = [:]
largeTitleTextAttributes[.attachment] = attachment
navigationBar.largeTitleTextAttributes = largeTitleTextAttributes
问题是我分配给
largeTitleTextAttributes
属性attachment
的附件不可见。
如何将附件添加到属性词典中以便附件可见? (我不是在寻找NSAttributedString
' s { {1}})
答案 0 :(得分:1)
AS Apple的Doc说你只能指定
您可以指定字体,文本颜色,文本阴影颜色和文本 使用的文本属性字典中标题的阴影偏移量 NSAttributedStringKey中描述的文本属性键。
但你可以直接将UILabel设置为导航栏的标题视图 使用以下代码
let image1Attachment = NSTextAttachment()
image1Attachment.image = UIImage(named: "bb")
image1Attachment.bounds = CGRect.init(x: 0.0, y: 0.0, width: 20, height: 20)
let image1String = NSAttributedString(attachment: image1Attachment)
let label: UILabel = UILabel.init(frame: (self.navigationController?.navigationBar.frame)!)
label.attributedText = image1String
if #available(iOS 11.0, *) {
self.navigationItem.titleView = label
}
else {
// Fallback on earlier versions
}
答案 1 :(得分:0)
通过查看Apple的文档,您可以在titleTextAttributess中指定的属性列表似乎有限:
您可以指定字体,文本颜色,文本阴影颜色和文本 使用的文本属性字典中标题的阴影偏移量 NSAttributedStringKey中描述的文本属性键。
https://developer.apple.com/documentation/uikit/uinavigationbar/1624953-titletextattributes
可悲的是,图片附件不在列表中。