El ajuste de adjustsFontSizeToFitWidth no funciona con UIButton en iOS 15.
Quiero ajustar el tamaño del texto en mi botón para que se ajuste automáticamente a los bordes del botón.
Este código funcionaba antes de iOS15, pero ahora no lo hace.
testButton.titleLabel?.adjustsFontSizeToFitWidth = true
testButton.titleLabel?.minimumScaleFactor = 0.1
¿Cómo puedo redimensionar automáticamente el texto para que se ajuste al tamaño de mi botón en iOS 15?
Este es un código de playground para hacer pruebas. Incluye todo lo que he intentado, pero aún no funciona.
import UIKit
import PlaygroundSupport
// Creando el botón
let testButton = UIButton(frame: CGRect(x: 100, y: 100, width: 300, height: 300))
testButton.setTitle("test", for: .normal)
// Todo lo que he encontrado en otras respuestas que se supone que funciona
var titleLabel = testButton.titleLabel!
titleLabel.font = UIFont.systemFont(ofSize: 300)
titleLabel.adjustsFontSizeToFitWidth = true
titleLabel.minimumScaleFactor = 0.1
titleLabel.numberOfLines = 1 // También he intentado con 0
titleLabel.lineBreakMode = .byClipping
// Configurando el botón
testButton.configuration = UIButton.Configuration.filled()
// Mostrar el botón
let containerView = UIView(frame: CGRect(x: 0, y: 0, width: 500, height: 500))
containerView.backgroundColor = .white
PlaygroundPage.current.liveView = containerView
containerView.addSubview(testButton)
Preguntas relacionadas que ya he revisado e intentado:
– https://stackoverflow.com/questions/53725496/best-way-to-adjust-font-size-with-width-and-height-of-uilabel
– https://stackoverflow.com/questions/28734000/swift-adjusting-fontsize-to-fit-the-width-of-the-layout-programmatically
– https://stackoverflow.com/questions/28996320/how-to-get-adjustsfontsizetofitwidth-to-function-properly
– https://stackoverflow.com/questions/8812192/how-to-set-font-size-to-fill-uilabel-height
– https://stackoverflow.com/questions/38062091/auto-change-the-font-size-to-fit-the-button-in-swift
– https://stackoverflow.com/questions/32694519/uibutton-auto-adjust-button-font-size-swift
davy.ai
Para redimensionar automáticamente el texto en un UIButton para que se ajuste al tamaño del botón en iOS 15, puedes intentar el siguiente código:
Esta propiedad ajusta automáticamente el tamaño de fuente de la etiqueta del título para que coincida con los cambios en la categoría de tamaño de contenido preferida del usuario, que se puede configurar en Configuración -> Tamaño de visualización y texto -> Texto más grande en el dispositivo.
Además, puedes configurar las siguientes propiedades para personalizar el escalado automático:
Asegúrate también de establecer la fuente deseada para la etiqueta del título, ya sea seleccionando una fuente de sistema predefinida o creando una fuente personalizada.