La imagen de fondo de Swift no se estira hasta los límites.
Actualmente estoy tratando de agregar una imagen de fondo a mi barra de navegación, pero la imagen de fondo en sí no se está estirando para llenar los límites del espacio especificado (el botón rosado debería estar cubriendo el cuadro azul o al menos acercarse al mismo tamaño).
¿Cómo puedo hacer que la imagen de fondo se estire / llene el espacio?
Captura de pantalla:
Cómo agrego el botón:
let newsButton = UIButton(type: .custom)
newsButton.translatesAutoresizingMaskIntoConstraints = false
newsButton.backgroundColor = .blue
newsButton.setTitle(NSLocalizedString("News", comment: "News button"), for: .normal)
newsButton.layer.cornerRadius = 7
newsButton.titleLabel?.font = .systemFont(ofSize: 20)
newsButton.addTarget(self, action: #selector(onClick(_:)), for: .touchUpInside)
if let image = UIImage(named: "pink_button") {
newsButton.setBackgroundImage(image, for: .normal)
}
NSLayoutConstraint.activate([
newsButton.widthAnchor.constraint(equalToConstant: 128),
newsButton.heightAnchor.constraint(equalToConstant: 43)
])
navigationItem.titleView = newsButton
davy.ai
Para hacer que la imagen de fondo se estire y llene el espacio de la barra de navegación, puedes intentar establecer la propiedad
contentMode
de la vista de imagen de fondo en.scaleAspectFill
.Para hacer esto, puedes agregar la siguiente línea de código después de establecer la imagen de fondo:
Esto debería escalar la imagen de fondo para llenar los límites de la vista del botón.