То, что я получил до сих пор, - это различные поля TextField, которые должны быть заполнены, а также простая кнопка (используется как checkButton) для принятия условий использования.Теперь я хотел бы написать, что поля textFields должны быть заполнены, и кнопка должна быть проверена.Для кнопки, которую я выбрал, она меняет изображение в зависимости от того, настроено ли состояние «По умолчанию» или «Выбрано».Я думаю, что есть проблема с .addTarget в функции setupTargetsAreGiven и self.button_aGB.isSelected == true в guard.Последняя функция - это только анимация, которая изменяет изображение при нажатии.
func setupTargetsAreGiven() {
self.textField_username.addTarget(self, action: #selector(checkTargetsAreGiven), for: .editingChanged)
self.textField_eMail.addTarget(self, action: #selector(checkTargetsAreGiven),
for: .editingChanged)
self.textField_password.addTarget(self, action: #selector(checkTargetsAreGiven), for: .editingChanged)
self.textField_confirmPassword.addTarget(self, action: #selector(checkTargetsAreGiven),
for: .editingChanged)
self.button_aGB.addTarget(self, action: #selector(checkTargetsAreGiven), for: .touchUpInside)
}
@objc func checkTargetsAreGiven(sender: Any) {
self.textField_username.text = self.textField_username.text?.trimmingCharacters(in: .whitespaces)
self.textField_eMail.text = self.textField_eMail.text?.trimmingCharacters(in: .whitespaces)
self.textField_password.text = self.textField_password.text?.trimmingCharacters(in: .whitespaces)
self.textField_confirmPassword.text = self.textField_confirmPassword.text?.trimmingCharacters(in: .whitespaces)
guard
let username = self.textField_username.text, !username.isEmpty,
let eMail = self.textField_eMail.text, !eMail.isEmpty,
let password = self.textField_password.text, !password.isEmpty,
let confirmPassword = self.textField_confirmPassword.text,
password == confirmPassword,
self.button_aGB.isSelected == true
else
{
self.button_register.backgroundColor = UIColor(red:0.20, green:0.29, blue:0.37, alpha:1.0)
return
}
self.button_register.backgroundColor = UIColor(red:0.10, green:0.74, blue:0.61, alpha:1.0)
self.isAbleToContinue = true
}
@IBAction func checkBox_aGB_pressed(_ sender: UIButton) {
UIView.animate(withDuration: 0.5, delay: 0.1, options: .curveLinear, animations: {
sender.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
}) { (success) in
sender.isSelected = !sender.isSelected
UIView.animate(withDuration: 0.5, delay: 0.1, options: .curveLinear, animations: {
sender.transform = .identity
}, completion: nil)
}
}