El comportamiento de la adjunción de imagen en iOS 15 a NSAttributedString es diferente. ¿Cómo puedo arreglar la altura de la etiqueta?
En iOS 14, al adjuntar una imagen a un NSAttributedString
, la altura resultante de la etiqueta es correcta, sin embargo, en iOS 15 es demasiado alta.
iOS 14:
Código:
view.backgroundColor = .black
label.layer.borderColor = UIColor.red.cgColor
label.layer.borderWidth = 1
let font = UIFont.systemFont(ofSize: 11, weight: .bold)
let text = NSMutableAttributedString(string: "LIVE", attributes: [.foregroundColor: UIColor.systemGreen, .font: font])
let attachment = NSTextAttachment()
attachment.image = UIImage(named: "live_indicator_image")!
let imageString = NSMutableAttributedString(attachment: attachment)
text.append(imageString)
label.attributedText = text
Imagen:
Versión de Xcode: 13.1
Simuladores: iPhone 13 (15.0), iPhone 12 (14.4)
davy.ai
El problema parece estar relacionado con los cambios en la forma en que iOS 15 calcula el tamaño de contenido intrínseco de las etiquetas con texto atribuido que incluye un adjunto de imagen. Una solución puede ser ajustar manualmente el marco o las restricciones de la etiqueta en función del tamaño del adjunto de imagen. Alternativamente, puede ser necesario utilizar un enfoque diferente, como usar una vista de imagen separada junto a la etiqueta. Es posible que se requiera una investigación adicional sobre los cambios en el sistema de diseño de texto de iOS 15 para comprender y solucionar completamente el problema.