我有一個tableView
它有一個自定義inputAccessoryView
,我有tableView.keyboardDismissMode
設置爲.interactive
。我分類UIView
,我創建這個類作爲我的自定義inputAccessoryView
。快速問題與inputAccessoryView
在視圖中有一個textView
,我自動調整大小,直到達到一定數量的行。這是我的代碼爲:
override var intrinsicContentSize: CGSize {
DispatchQueue.main.async {
let path = IndexPath(row: self.tableView.numberOfRows(inSection: 0) - 1, section: 0)
self.tableView.scrollToRow(at: path, at: .bottom, animated: true)
}
sendButton.frame.origin.y = self.frame.maxY - 5 - sendButton.frame.height
return CGSize(width: self.bounds.width, height: (textView.numberOfLines() < 10 ? textView.text.sizeForWidth(width: textView.frame.width, font: textView.font!).height : 254) + textView.frame.origin.y * 2)
}
func textViewDidChange(_ textView: UITextView) {
placeholderLabel.isHidden = !textView.text.isEmpty
if textView.numberOfLines() < 10 { // I defined numberOfLines() elsewhere
textView.isScrollEnabled = false
} else {
textView.isScrollEnabled = true
}
invalidateIntrinsicContentSize()
}
的.async {}
塊是再滾動到tableView
底部一旦inputAccessoryView
高度增加。
我的問題是,當我拖倒在tableView
隱藏鍵盤,該tableView
運行滾動動畫(那個在async
塊)的時候,我不希望它滾動至底部。這裏是發生了什麼的a video。
我一直在努力爭取這個工作,我想如何幾天現在。任何人都可以向我解釋爲什麼它不能像我想要的那樣工作,以及我如何解決它?
非常感謝!
無關,與「視覺的限制」。 – matt