Как переместить UIButton на клавиатуру, когда пользователь начинает печатать

#ios #swift #uibutton #keypad

Вопрос:

У меня есть кнопка UIButton в нижней части экрана, и когда пользователь вводит UITextView, я хочу, чтобы эта кнопка была прикреплена к клавиатуре, как на скриншоте, который я прикрепил. Пожалуйста, приведите несколько примеров кодов.

Дизайнвведите описание изображения здесь

Ответ №1:

В соответствии с вашим вопросом, вам просто нужно добавить свою кнопку в текстовое поле inputAccessoryView.

 yourTextField.inputAccessoryView = confirmButton
 

Чтобы обработать исходное положение кнопки, создайте временную кнопку, такую же, как и исходное, включая имя метода.

   let tempButton = UIButton(frame: CGRect(x: 0, y: 0, width: view.frame.size.width, height: 30))
    tempButton.backgroundColor = UIColor.blue
    tempButton.setTitle("YourConfirmButton", for: .normal)
    tempButton.setTitleColor(UIColor.white, for: .normal)
    tempButton.addTarget(self, action: #selector(self.onTapConfirmButton), for: .touchUpInside)
    yourTextField.inputAccessoryView = tempButton
 

Комментарии:

1. Как сделать кнопку в том же положении, что и в первом дизайне, когда мы отключаем клавиатуру?

2. @Адбул Хок Нури

3. @JOhnMic Проверьте обновленный ответ.

4. то есть вы хотите сказать, что если я автоматически отключу клавиатуру, кнопка появится на том же месте?

5. Ваша оригинальная кнопка не будет смещаться. Вам просто нужно создать клон вашего оригинала для отображения над клавиатурой.