No keyboard dismissal or any other animations upon loading and disappearing. Unregister from Keyboard notifications upon disappear. No scroll to bottom when reappeared after another VC was pushed and popped on top of us.
Safe removal of KVO observer of contentSize
tableView frame size must be the same as the container frame view. No reason to reduce it's height in account for the inputView while we can change tableView bottom content insets as being done anyway.
Custom modifications for blobix
Import the new JSMessage model in in JSMessagesVC. Few more alignments to new version
ScrollToBottom when loadingView with active keyboard
Added an optional additional condition to be provided by user for enabling the Send button. This is where network connectivity condition may be implemented.
Added two methods to API: didSelectRowAtIndexPath and didDeselectRowAtIndexPath,
in order to allow user control edit mode if needed.
Removing tapGesture when entering edit mode.
Crash fixed: UITextView data detectors have a problem in iOS7 while dequeueing cells.
I solved it by applying a unique cell id according to it's message object address.
( https://github.com/jessesquires/MessagesTableViewController/issues/154 )
Timestamp (date) was reformatted to "MMM d"
Decreased maximum width of message bubbles so bubble does not overlap with Edit mode checkboxes.
Disable user interaction on bubble's textView to disallow user to partially select text (double tap)
This also resolves a problem where tapping on bubble content on Edit mode in order to select it for delete - does
nothing because UITextView intercepts the touch, instead of tableView.
Long tap should not be enabled during Edit mode.
JSBubbleMessageCell was set to conform to UIGestureRecognizer protocol in order to control when long tap is
received.
Fix keyboard dismissal when UIMenuController shows up.
e.g: user is long tapping message bubble when keyboard is active - it should stay active.
It wasn't enough to simply disable user interactions on bubble's text view, since it caused data recogniser to stop working.
Therefore, the only way to disable partial text selection (double tap) and keep recognisers working is to subclass UITextView
and override canBecomeFirstResponder.
Remove tapGestureRecognizer from JSMessageVC when entering Edit mode.
Add it back when exiting Edit mode.
Changed colour of text in chat bubbles. also setting tintColor in iOS7 ( which sets the data recognisers colour)
Fixed animation of bubbles scroll down when showing keyboard.
There was no sync between the keyboard animation and the scroll down table animation,
the impact was bubbles reaching their final position in a noticeable delay.
Show and Hide keyboard animation for iOS7 was wrong.
Using all the right options now so animations looks perfect.
Fixed right to left language support by removing text alignment setup from the input text view.