チャット画面を作っていて
MessageInputbarのtextViewに文字数制限(仮にここでは5とする)をかけて、いざ入力すると位置文字目を入力した時点で止まってしまいます。
これがなぜなのか理由が知りたいです。
ソースコード
必要な箇所のになりますが。。。
swift
1 2override func viewDidLoad() { 3 super.viewDidLoad() 4 messageInputBar.delegate = self 5} 6 7・ 8・ 9・ 10extension ChatViewController: MessageInputBarDelegate { 11 public func messageInputBar(_ inputBar: MessageInputBar, textViewTextDidChangeTo text: String) { 12 if text.count <= 5 { 13 inputBar.inputTextView.text = text 14 } else { 15 inputBar.inputTextView.text = String(text.prefix(5)) 16 } 17 } 18} 19 20
止まる場所(MessageInputBar.swiftファイル - MessageInputBarクラス)
swift
1 2 @objc 3 open func textViewDidChange() { 4 let trimmedText = inputTextView.text.trimmingCharacters(in: .whitespacesAndNewlines) // ここで止まる 5 6 if shouldManageSendButtonEnabledState { 7 sendButton.isEnabled = !trimmedText.isEmpty || inputTextView.images.count > 0 8 } 9 inputTextView.placeholderLabel.isHidden = !inputTextView.text.isEmpty 10 11 items.forEach { $0.textViewDidChangeAction(with: inputTextView) } 12 13 delegate?.messageInputBar(self, textViewTextDidChangeTo: trimmedText) 14 15 if requiredInputTextViewHeight != inputTextView.bounds.height { 16 // Prevent un-needed content size invalidation 17 invalidateIntrinsicContentSize() 18 } 19 } 20
エラー内容
Thread 1: EXC_BAD_ACCESS (code=2, address=0x16f2b7d10)
よろしくおねがいします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/09 03:21