Попытка получить UITextView для перемещения контента, когда клавиатура находится над собой - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть UITextView

    @IBOutlet weak var note: UITextView!
note.delegate = self

Текстовое представление находится внутри UIScrolLView

@IBOutlet weak var scrollView: UIScrollView!

, который я пытаюсь получить, чтобы ответить на это:

// move the scrollView when the keyboard is presented
    NotificationCenter.default.addObserver(self, selector: #selector(Keyboard), name: Notification.Name.UIKeyboardWillHide, object: nil)
    NotificationCenter.default.addObserver(self, selector: #selector(Keyboard), name: Notification.Name.UIKeyboardWillChangeFrame, object: nil)

что при нажатии вызывается эта функция:

@objc func adjustForKeyboard(_ notification: Notification) {
    let userInfo = notification.userInfo!

    let keyboardScreenEndFrame = (userInfo[UIKeyboardFrameEndUserInfoKey] as! NSValue).cgRectValue
    let keyboardViewEndFrame = view.convert(keyboardScreenEndFrame, from: view.window)

    if notification.name == NSNotification.Name.UIKeyboardWillHide {
        scrollView.contentInset = UIEdgeInsets.zero
    } else {
        scrollView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: keyboardViewEndFrame.height, right: 0)
    }
    scrollView.scrollIndicatorInsets = scrollView.contentInset
}

То, что я хочу, это когда вы нажимаете на UITextView, если клавиатура собирается скрыть текстовое представление, содержимое прокручивается вверх, поэтомучто TextView всегда виден.Этот метод прекрасно работает для моих UITextFields, но он не работает для UITextView.

Следовал этому руководству и все еще не работает для меня.Я не уверен, использует ли он UITextView или UITextFields в видео, я думаю, что Fields.

В АВТОМАТИЧЕСКОМ РЕГУЛИРОВАНИИ UISCROLLVIEW, КОГДА КЛАВИАТУРА ВКЛЮЧЕНА (SWIFT-4, XCODE-9)

Как настроить UIScrollView под клавиатуру

...