Voici mon button
objet
let loginRegisterButton:UIButton = {
let button = UIButton(type: .system)
button.backgroundColor = UIColor(r: 50 , g: 80, b: 130)
button.setTitle("Register", for: .normal)
button.translatesAutoresizingMaskIntoConstraints = false
button.setTitleColor(.white, for: .normal)
button.addTarget(self, action:#selector(handleRegister), for: .touchUpInside)
return button
}()
et voici ma fonction
func handleRegister(){
FIRAuth.auth()?.createUser(withEmail: email, password: password,completion: { (user, error) in
if error != nil
{ print("Error Occured")}
else
{print("Successfully Authenticated")}
})
}
J'obtiens une erreur de compilation, si addTarget est supprimé, la compilation est réussie.
0 votes
Essayez ceci
button.addTarget(self, action:#selector(handleRegister()), for: .touchUpInside)
.0 votes
handleRegister
action sont dans le même contrôleur ? De même, vous n'avez pas défini le cadre de l'action deUIButton
.0 votes
Oui, j'ai une autre fonction pour ses contraintes func constraints() {loginRegisterButton.centerXAnchor.constraint(equalTo : inputview.centerXAnchor).isActive = true loginRegisterButton.topAnchor.constraint(equalTo : inputview. bottomAnchor, constant : 12).isActive = true loginRegisterButton.widthAnchor.constraint(equalTo : inputview.widthAnchor).isActive = true loginRegisterButton.heightAnchor.constraint(equalToConstant : 30).isActive = true }
0 votes
@Ninja13 Alors le problème est peut-être avec vos contraintes de bouton essayez de définir juste le cadre une fois et vérifiez qu'il fonctionne ou pas.
1 votes
J'ai modifié le code comme suit et cela a fonctionné paresseusement var loginRegisterButton:UIButton = { let button = UIButton(type : .system) button.backgroundColor = UIColor(r : 50 , g : 80, b : 130) button. setTitle("Register", for : .normal) button.translatesAutoresizingMaskIntoConstraints = false button.setTitleColor(.white, for : .normal) button.addTarget(self, action:#selector(handleRegister), for : .touchUpInside) return button }()