diff --git a/ChattoAdditions/Source/Chat Items/BaseMessage/BaseMessagePresenter.swift b/ChattoAdditions/Source/Chat Items/BaseMessage/BaseMessagePresenter.swift index a6cf60e06..6b9aca005 100644 --- a/ChattoAdditions/Source/Chat Items/BaseMessage/BaseMessagePresenter.swift +++ b/ChattoAdditions/Source/Chat Items/BaseMessage/BaseMessagePresenter.swift @@ -45,7 +45,6 @@ public protocol BaseMessageInteractionHandlerProtocol { open class BaseMessagePresenter: BaseChatItemPresenter> where ViewModelBuilderT: ViewModelBuilderProtocol, - ViewModelBuilderT.ViewModelT: MessageViewModelProtocol, InteractionHandlerT: BaseMessageInteractionHandlerProtocol, InteractionHandlerT.ViewModelT == ViewModelBuilderT.ViewModelT, BubbleViewT: UIView, diff --git a/ChattoAdditions/Source/Input/ChatInputBar.swift b/ChattoAdditions/Source/Input/ChatInputBar.swift index a8c62d132..a1d265862 100644 --- a/ChattoAdditions/Source/Input/ChatInputBar.swift +++ b/ChattoAdditions/Source/Input/ChatInputBar.swift @@ -277,7 +277,7 @@ extension ChatInputBar: UITextViewDelegate { let range = self.textView.text.bma_rangeFromNSRange(nsRange) if let maxCharactersCount = self.maxCharactersCount { let currentCount = textView.text.count - let rangeLength = textView.text.substring(with: range).count + let rangeLength = textView.text[range].count let nextCount = currentCount - rangeLength + text.count return UInt(nextCount) <= maxCharactersCount } diff --git a/ChattoAdditions/Source/Input/ReusableXibView.swift b/ChattoAdditions/Source/Input/ReusableXibView.swift index 4500898fc..6249057e6 100644 --- a/ChattoAdditions/Source/Input/ReusableXibView.swift +++ b/ChattoAdditions/Source/Input/ReusableXibView.swift @@ -46,7 +46,7 @@ import UIKit for constraint in constraints { let firstItem = constraint.firstItem === self ? loadedView : constraint.firstItem let secondItem = constraint.secondItem === self ? loadedView : constraint.secondItem - loadedView.addConstraint(NSLayoutConstraint(item: firstItem, attribute: constraint.firstAttribute, relatedBy: constraint.relation, toItem: secondItem, attribute: constraint.secondAttribute, multiplier: constraint.multiplier, constant: constraint.constant)) + loadedView.addConstraint(NSLayoutConstraint(item: firstItem as Any, attribute: constraint.firstAttribute, relatedBy: constraint.relation, toItem: secondItem, attribute: constraint.secondAttribute, multiplier: constraint.multiplier, constant: constraint.constant)) } return loadedView } else {