Commit Graph
68 Commits
Author SHA1 Message Date
Nathan Tannar 9a2affcd6f Update to Swift 4.2 2018-09-29 11:45:50 -07:00
Nathan TannarandSteven Deutsch 230e067009 Integrate MessageInputBar as a dependency (#732)
* Remove MessageInputBar files and change build settings

* Conditional imports to allow for builds without MessageInputBar

* Update Cardfile

* Specify Version in Cartfile for MessageInputBar

* Remove conditional imports in favor of Carthage for local development

* Additional `import MessageInputBar`

* Remove `MessageInputBar` from Cartfile.private

* Bump MessageInputBar version

* Add Cartfile

* Tweak build settings

* Specify import of MessageInputBar for Carthage
2018-09-17 12:22:21 -05:00
Polina Petrenko 3bfeccd080 Fix a typo in scrollsToBottomOnKeybordBeginsEditing 2018-09-11 23:10:20 +03:00
zhongwuzw 540f203f6a Fix insets calculation when present and dismiss vc && remove precision when compare double 2018-08-07 14:44:27 +08:00
Andrey Tarantsov 8f7c4077c0 Fix: make extraBottomInset work when set before showing 2018-08-01 13:27:41 +03:00
Andrey Tarantsov a0b0749231 Introduce extraBottomInset property 2018-08-01 13:14:41 +03:00
Andrey Tarantsov 79b1ff02cd Rename computeXxx to requiredXxx 2018-08-01 13:14:21 +03:00
Andrey Tarantsov 2ca89ec9cd Better document the rationale behind keyboard code 2018-08-01 12:57:10 +03:00
Andrey Tarantsov b49a0e0827 A tiny optimisation in keyboard handling 2018-08-01 12:22:21 +03:00
Andrey Tarantsov 39d4b6c032 Add a link to WWDC video about keyboard insets 2018-08-01 10:55:18 +03:00
Andrey Tarantsov 9eed4d8182 Adjust contentInset for the keyboard frame properly
This change provides better handling of keyboard frames. It copes with different values of UIViewController.edgesForExtendedLayout, UIScrollView.contentInsetAdjumentBehavior, view controller containment scenarios and undocked keyboards, and uses cleaner code.

Improvements and fixes in this change:

1. Translates keyboard frame from screen coordinates into view controller coordinates. They aren’t the same thing when containment is involved, or edgesForExtendedLayout does not include .top.

2. Avoids special casing any iPhone models and avoids dealing with safeAreaInsets manually. In iOS 11, UIScrollView may behave differently depending on contentInsetAdjumentBehavior, and the old code incorrectly assumed that the mode is .always (while it is in fact is .automatic) and that no extra safe area insets have been introduced at the bottom edge. Best part, we don’t have to deal with any of this at all, we can offload the logic to UIScrollView itself by looking at the difference between adjustedContentInset and contentInset.

3. Handles view controller containment and undocked keyboards by taking into account an intersection of the scroll view frame and the keyboard’s frame. I think Apple demoes this in one of the WWDC videos, but I couldn’t find which one (or if I’m misremembering). Regardless, this technique makes sure we compute and use a sensible number.

There’s also a couple of extra renames that make the intention of the modified code clearer.
2018-07-30 16:47:28 +03:00
zhongwuzw d2fee1851f Fixed MessagesCollectionView's bottom inset when hardware keyboard is connected 2018-05-31 16:34:45 +08:00
zhongwuzw 56418d2c70 Add cellTopLabel and rename topLabel to messageTopLabel 2018-04-16 18:40:58 +08:00
zhongwuzw 39986f0458 Renamed MessageData to MessageKind 2018-04-16 11:57:50 +08:00
Steven Deutsch 911387edc1 Refactor header/footer API to remove indexPath 2018-04-03 13:24:43 -05:00
Steven Deutsch 3697048cb3 Remove MessageHeaderView and MessageFooterView 2018-04-03 13:24:43 -05:00
Steven Deutsch 04bfb7c5d7 Document all protocols 2018-03-30 10:43:41 -05:00
zhongwuzw c82a7c0d1e update access control 2018-03-30 12:49:31 +08:00
zhongwuzw aaae67ec65 Make sizeCalculator lazy && fix access level 2018-03-30 10:09:46 +08:00
Steven DeutschandWu Zhong 07c0e58597 Remove the limitation of 1 cell to 1 section (#601)
* Add numberOfSections delegate method

* Remove numberOfMessages(in) and add other two substitution methods

* Fix tests failure
2018-03-29 13:16:32 +08:00
Steven Deutsch 800396c13e Refactor reusable view inheritance hierarchy 2018-03-27 02:38:07 -05:00
Steven Deutsch d342bc4b56 Add LocationItem protocol 2018-03-24 03:52:35 -05:00
Steven Deutsch c3a2bef1c9 Merge branch 'master' of https://github.com/MessageKit/MessageKit into development 2018-03-18 16:51:09 -05:00
Javier Cancio ab35614904 Solves issue #546 ( https://github.com/MessageKit/MessageKit/issues/546 ) 2018-03-05 23:55:01 +01:00
Steven Deutsch 880cf8c67d Move delegate methods to allow override 2018-02-21 06:49:46 -06:00
Wu ZhongandGitHub fe376fd258 Fix wrong bubble image cache (#531)
* Fix wrong bubble image cache

* refactor code

* remove unnecessary code
2018-02-21 11:50:21 +08:00
Steven Deutsch b38cde44ef Add .custom(Any) case to MessageData 2018-01-31 01:48:47 -06:00
Wu ZhongandGitHub 15e26f7c85 Optimize collectionView scroll behavior when abruptly stops scrolling (#470)
* Optimize collectionView scroll behavior when abruptly stops scrolling

* Add CHANGELOG entry
2018-01-25 10:52:36 +08:00
Wu ZhongandGitHub be0e7dc684 Merge branch 'master' into development 2018-01-17 13:34:22 +08:00
zhongwuzw 077b884e15 code clean && recover message handle logic 2018-01-14 16:02:00 +08:00
Steven Deutsch 7a112aa4c4 Fix failing build and copyrights 2018-01-11 23:32:35 -06:00
Steven Deutsch 810b58d88d Add MessageKitError to cleanup strings 2018-01-11 22:42:50 -06:00
Steven Deutsch 4a8d08e9e3 Separate MessagesViewController functionality into files 2018-01-11 22:19:38 -06:00
zhongwuzw 7b4461473d Optimize menu position in some situations 2018-01-09 10:55:50 +08:00
zhongwuzw b7cba2e1af Remove unnecessary code 2018-01-09 09:16:05 +08:00
zhongwuzw eff74af666 Fixed wrong contentInset calculation when navigationBar is hidden 2018-01-08 22:52:24 +08:00
Rich Gabrielli 1782b0b2a1 Change Copyright to "Copyright (c) 2017-2018 MessageKit" 2018-01-02 22:16:05 -05:00
zhongwuzw eb1c6f50a6 Added copy support for message bubble 2017-12-22 23:29:45 +08:00
Steven Deutsch e7baba8dde Set contentOffset after bottomInset 2017-12-17 21:29:34 -06:00
Steven Deutsch fb2f55c66b Revert to old cell configure API 2017-12-17 21:10:46 -06:00
Steven Deutsch 471d8b1e50 Add CHANGELOG entry for #340 2017-12-16 23:14:29 -06:00
Steven DeutschandGitHub 4aebd5826c Merge branch 'development' into fix-338 2017-12-16 22:51:46 -06:00
Steven DeutschandGitHub deb8754784 Merge branch 'development' into enhancement/attributes-delegate 2017-12-14 12:11:32 -06:00
Steven Deutsch 6bdbe65139 Allow detector attributes to be set outside of the cell 2017-12-14 11:54:48 -06:00
Steven DeutschandGitHub 769dc7477a Merge pull request #395 from zhongwuzw/fix-scroll-to-bottm
Fix scrollToBottom && remove scrollsToBottomOnFirstLayout
2017-12-12 02:49:59 -06:00
Steven DeutschandGitHub 0af6454ad9 Merge pull request #391 from MessageKit/enhancement/remove-cells
Removing cell generic constraints
2017-12-11 13:38:03 -06:00
zhongwuzw 97c2401ffe Fix scrollToBottom && remove scrollsToBottomOnFirstLayout 2017-12-11 15:20:59 +08:00
Steven DeutschandGitHub 034a9c1c7c Merge branch 'development' into testing/message-label 2017-12-10 14:27:53 -06:00
Steven Deutsch b24d8bcff2 Fix failing tests 2017-12-10 14:22:48 -06:00
Steven Deutsch 691359c657 Remove generic constraint from MessageCollectionViewCell 2017-12-09 07:07:55 -06:00