Вложение через NSAttributedStringKey не видно
Новая функция большого заголовка может быть настроена с помощью 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 init(attachment: NSTextAttachment
)
2 ответа
AS 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
}
При просмотре документов Apple список атрибутов, которые вы можете указать в titleTextAttributess, кажется ограниченным:
Вы можете указать шрифт, цвет текста, цвет тени текста и смещение тени текста для заголовка в словаре атрибутов текста, используя ключи атрибута текста, описанные в NSAttributedStringKey.
https://developer.apple.com/documentation/uikit/uinavigationbar/1624953-titletextattributes
К сожалению, вложения изображений не в списке.