Keyboard Show Extra Space Swift - PullRequest
       11

Keyboard Show Extra Space Swift

0 голосов
/ 21 февраля 2019

Оригинальный снимок экрана:

1. Когда клавиатура не видна:

screen Shot

Чтонормально.

2. Проблема в том, что при появлении клавиатуры вышеприведенные изображения переходят в верхнее исходное положение из textView и клавиатуры следующим образом:

Screen Shot

Вот что я пытаюсь сделать:

Screen Shot

Код:

  func addKeyboardObservers() {
    NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillShow), name: UIResponder.keyboardWillShowNotification, object: nil)
    NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillHide), name: UIResponder.keyboardWillHideNotification, object: nil)
}

// MARK: - remove Keyboard Observers
func removeKeyboardObservers() {
    NotificationCenter.default.removeObserver(self, name: UIResponder.keyboardWillShowNotification, object: nil)
    NotificationCenter.default.removeObserver(self, name: UIResponder.keyboardWillHideNotification, object: nil)
}

// MARK: - keyboard show
@objc func keyboardWillShow(_ notification: Notification) {
    if let keyboardFrame: NSValue = notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue {
        let keyboardRectangle = keyboardFrame.cgRectValue
        let keyboardHeight = keyboardRectangle.height - bottomLayoutGuide.length
        UIView.animate(withDuration: 0.25, animations: {() -> Void in
            self.bottomConstraint.constant = keyboardHeight
            self.view.layoutIfNeeded()
        }, completion: nil)
    }
}

// MARK: - keyboard hide
@objc func keyboardWillHide(_ notification: Notification) {
    view.layoutIfNeeded()
 }

Когда я использую этот кодзатем покажите мне снимок экрана с пустым пространством, приведенный ниже:

Screen Shot

Когда я комментирую эти снимки экрана ниже:

// MARK: - keyboard show

@objc func keyboardWillShow(_ notification: Notification) {
   // if let keyboardFrame: NSValue = notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue {
    //    let keyboardRectangle = keyboardFrame.cgRectValue
     //   let keyboardHeight = keyboardRectangle.height - bottomLayoutGuide.length
      //  UIView.animate(withDuration: 0.25, animations: {() -> Void in
       //     self.bottomConstraint.constant = keyboardHeight
       //     self.view.layoutIfNeeded()
      // }, completion: nil)
  //  }
}

Screen Shot

Это мой главный снимок экрана StoryBoard:

Screen Shot

Может кто-нибудь объяснить мне, как решить эту проблему, я пытался решить эту проблемупроблема, но пока нет результатов.

Любая помощь будет принята с благодарностью.

Заранее спасибо.

1 Ответ

0 голосов
/ 21 февраля 2019

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

textField.autocorrectionType = .no

enter image description here

...