UIButton subclase es cambiar la fuente en el haga clic en

0

Pregunta

Estoy viendo un comportamiento extraño de una matriz de botones que se han construido en el guión gráfico. Tengo 4 botones de cada uno de tipo personalizado TakesContainerButton y cuando se hace clic en un botón cambia a la fuente del sistema, pero cuando una diferente botón es pulsado previamente el botón se vuelve a la fuente deseada, no estoy seguro de lo que está pasando aquí

Los botones también están integrados en una pila de vista, si que importa

Aquí es el de la aplicación cuando uno de los botones es presionado donde buttons es una matriz de 4 botones

@IBAction func filterPressed(_ sender: TakesContainerButton) {
        for button in buttons {
            button.unclick()
        }
        sender.click()
    }

aquí está la clase personalizada

class TakesContainerButton: UIButton {

        
        var bottom = UIView()
        
        func click(){
            self.setTitleColor(.darkGray, for: .normal)
            let xOffset:CGFloat = 10
            bottom = UIView(frame: CGRect(x: xOffset / 2, y: self.frame.height - 3, width: self.frame.width - xOffset, height: 3))
            bottom.layer.cornerRadius = 1.5
            bottom.backgroundColor = .darkGray
            self.addSubview(bottom)
        }
        
        func unclick(){
            bottom.removeFromSuperview()
            self.setTitleColor(UIColor(hex: "8B8B8B"), for: .normal)
        }
        
        override func awakeFromNib(){
            setFont()
        }
        
        func setFont(){
            self.titleLabel?.font = UIFont(name: "Lato-Bold", size: 12)
        }
    }
ios swift uibutton
2021-11-23 22:12:09
1

Mejor respuesta

0

Hay alguna razón específica que usted está llamando setFont() en cada clic. Como yo soy capaz de ver que no va a cambiar el tipo de letra debe establecer este tipo de letra en el momento de la vista de la carga y dejar la fuente tal como es.

2021-11-23 22:56:54

Originalmente era sólo en awakeFromNib, pero yo estaba experimentando ese problema por lo que se puso en tanto y haga clic en desactivar el clic
tHatpart

Usted no necesita fuente de conjunto cada vez.
Anubhav Giri

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................