inputAccessoryView
のtableView
があります。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 {}
ブロックはinputAccessoryView
高が増加した後、再びtableView
の下までスクロールするためです。
私の問題は、私はキーボードを非表示にするtableView
を下にドラッグしたとき、私はそれが一番下までスクロールしたくないとき、tableView
はスクロールアニメーション(async
ブロック内の1)を実行していることです。ここには何が起こっているのa videoです。
私は今これを数日間したいと思うように働かせることに苦労しています。誰も私にそれをしたいと思うように動作していないと私はそれを修正することができます私に説明してくださいか?
ありがとうございます!
「視覚的な制約」とは何の関係も。 – matt