У меня есть StackView
внутри ScrollView
, а внутри у меня несколько TextFields
. Я хотел бы изменить одно из textField.height
, когда это специфицированное c текстовое поле начинает редактироваться.
Я пробовал его внутри textFieldShouldBeginEditing
, но XCode ломает height.constraint
.
//delegate Methode für Password Textfield
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
switch textField {
case passwordTextField:
eyeButtonOne.isHidden = false
passwordTextField.addSubview(checkLetterLabel)
checkLetterLabel.addSubview(checkLetterImage)
passwordTextField.addSubview(checkNumberLabel)
checkNumberLabel.addSubview(checkNumberImage)
passwordTextField.addSubview(checkLengthLabel)
checkLengthLabel.addSubview(checkLengthImage)
checkLetterLabel.topAnchor.constraint(equalTo: passwordTextField.bottomAnchor, constant: 5).isActive = true
checkLetterLabel.leadingAnchor.constraint(equalTo: checkLetterImage.leadingAnchor, constant: 13).isActive = true
checkLetterImage.leadingAnchor.constraint(equalTo: passwordTextField.leadingAnchor).isActive = true
checkLetterImage.centerYAnchor.constraint(equalTo: checkLetterLabel.centerYAnchor).isActive = true
checkLetterImage.heightAnchor.constraint(equalToConstant: 10).isActive = true
checkLetterImage.widthAnchor.constraint(equalToConstant: 10).isActive = true
checkNumberLabel.topAnchor.constraint(equalTo: checkLetterLabel.bottomAnchor, constant: 1).isActive = true
checkNumberLabel.leadingAnchor.constraint(equalTo: checkNumberImage.leadingAnchor, constant: 13).isActive = true
checkNumberImage.leadingAnchor.constraint(equalTo: passwordTextField.leadingAnchor).isActive = true
checkNumberImage.centerYAnchor.constraint(equalTo: checkNumberLabel.centerYAnchor).isActive = true
checkNumberImage.heightAnchor.constraint(equalToConstant: 10).isActive = true
checkNumberImage.widthAnchor.constraint(equalToConstant: 10).isActive = true
checkLengthLabel.topAnchor.constraint(equalTo: checkNumberLabel.bottomAnchor, constant: 1).isActive = true
checkLengthLabel.leadingAnchor.constraint(equalTo: checkLengthImage.leadingAnchor, constant: 13).isActive = true
checkLengthImage.leadingAnchor.constraint(equalTo: passwordTextField.leadingAnchor).isActive = true
checkLengthImage.centerYAnchor.constraint(equalTo: checkLengthLabel.centerYAnchor).isActive = true
checkLengthImage.heightAnchor.constraint(equalToConstant: 10).isActive = true
checkLengthImage.widthAnchor.constraint(equalToConstant: 10).isActive = true
passwordTextField.heightAnchor.constraint(equalToConstant: 140).isActive = true
theStackView.layoutIfNeeded()
break
case passwordWiederholenTextField:
eyeButtonTwo.isHidden = false
break
default:
break
}
return true
}
Сейчас все элементы отображаются при passwordTextField
beginsEditing
, но высота не меняется ... Как вы можете видеть, я также звоню layoutIfNeeded()
, но это ничего не делает ... Я бы тоже нравится иметь какую-то анимацию, ничего особенного, в конце концов она должна выглядеть гладкой.
Кто-нибудь знает, как это исправить ??