es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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:

enter image description here

iOS 15:
enter image description here

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:

enter image description here

Versión de Xcode: 13.1

Simuladores: iPhone 13 (15.0), iPhone 12 (14.4)

Tags:  , , , ,

Answer

  1. Avatar for 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.

Comments are closed.