UIButton alt sınıfı tıklandığında yazı tipini değiştiriyor

0

Soru

Storyboard'da oluşturduğum bir dizi düğmeden bazı garip davranışlar görüyorum. Her biri özel tipte 4 düğmem var TakesContainerButton ve bir düğmeye tıklandığında sistem yazı tipine dönüşür, ancak farklı bir düğmeye tıklandığında, önceki düğme istenen yazı tipine geri döner, burada neler olup bittiğinden emin değil

Düğmeler, eğer önemliyse, bir yığın görünümüne de gömülür

İşte düğmelerden birine basıldığında uygulama buttons bu 4 düğmeden oluşan bir dizidir

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

işte özel sınıf

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

En iyi cevabı

0

Her tıklatmada setFont() öğesini çağırmanızın belirli bir nedeni var mı? Yazı tipini değiştirmediğinizi görebildiğim için, görünüm yüklenirken bu yazı tipini ayarlamanız ve yazı tipini olduğu gibi bırakmanız gerekir.

2021-11-23 22:56:54

Başlangıçta sadece awakefromnib'deydi, ancak bu sorunu yaşıyordum, bu yüzden hem tıklamaya hem de tıklamaya koydum
tHatpart

Mi hiç ihtiyacımız set yazı tipi her zaman.
Anubhav Giri

Diğer dillerde

Bu sayfa diğer dillerde

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