TextView автоматически набирает клавишу возврата [Ma c Catalyst] - PullRequest
3 голосов
/ 26 апреля 2020

Я адаптирую свое приложение для iPad под Ma c Catalyst, и в приложении у меня есть UITextView внутри UITableViewCell с некоторым странным поведением. Все мои текстовые представления внутри ячеек табличного представления вводят ключ возврата. Я просто нажимаю на textView, и он застревает, нажимая клавишу возврата, создавая новые строки (я ничего не печатаю). Я пытался использовать разные клавиатуры, и я получаю тот же результат.

Этого не происходит на iPhone или iPad. Это также не происходит все время, это очень случайно. Кто-нибудь знает, как это исправить?

Вот мой код:

class TextViewCell: UITableViewCell {

     override func awakeFromNib() {
          super.awakeFromNib()

          textView.delegate = self
          textView.isScrollEnabled = false
          textView.returnKeyType = .done
     }
}


// MARK: - textView functions
extension TextViewCell: UITextViewDelegate {

     //grow textView as the user types
     func textViewDidChange(_ textView: UITextView) {

        let size = textView.bounds.size
        let newSize = textView.sizeThatFits(CGSize(width: size.width, height: CGFloat.greatestFiniteMagnitude))

        if size.height != newSize.height {
            UIView.setAnimationsEnabled(false)
            tableView?.beginUpdates()
            tableView?.endUpdates()
            UIView.setAnimationsEnabled(true)

            if let thisIndexPath = tableView?.indexPath(for: self) {
                tableView?.scrollToRow(at: thisIndexPath, at: .bottom, animated: false)
            }
        }
    }
}

Кто-нибудь еще сталкивался с этой проблемой и знает, как ее исправить ???

...