Skip to content

Commit

Permalink
DrawerKit release 0.1 (#19)
Browse files Browse the repository at this point in the history
* Added git ignore file

* Added project workspace

* Added tab bar template project

* Added DrawerKit empty framework

* Added basic view controllers and storyboards

* Fixed broken outlets

* Added implementation of DrawerKit. A few bits to complete still.

* Hooked up the view controllers to the custom presentation.

* Added clamping to the three possible resting positions of the drawer

* Added more configuration to the presenting VC

* Fixed a few glitches related to allowing partial expansion or not, and some refactoring.

* Removed the two timing configurations and now using only one for all animations.

* Added support for not having the gesture recognisers.

* Fixed a potential division by zero.

* Adding more configuration controls to presenting VC. WIP.

* Added debug mode.

* Added some TODOs

* Renamed a function to make it clear it's a debugging feature.

* Minor refactoring.

* Renamed some source files for better clarity of intention.

* Removed source headers.

* Changed the presented VC to make a larger drawer (easier to play with).

* Changed some parameters as per Sam's input.

* Improved behaviour of corner rounding at the two edges of the screen. Still not a perfect solution because the animator's completion block is, surprisingly, not always called. Apparently, that's a bug in UIViewPropertyAnimator.

* Made the logic for the drawer behaviour easier to read, because Sergey doesn't like `guard` with boolean statements. ;)

* Moved some code closer to where it's actually used.

* Minor formatting.

* Added a fix to the corner-radius animation issue whereby the corner radius would not be set to zero because the property animator's completion would not always be called. Now we force it to zero on presentationTransitionDidEnd() (for the appropriate drawer ending positions).

* Disabled automatic code signing.

* The heights of the bands surrounding the resting position of the drawer are now given in absolute rather than relative terms.

* Oopsie... committed a compiler error. Fixed now.

* Added a scrollview to the presented view controller in the demo app, for testing how scrolling interacts with the drag gesture recogniser in the presentation controller.

* Added an interaction controller, the first step in fixing the non-interactive presentation/dismissal itself.

* Renamed TransitionAnimator to AnimationController.

* Renamed a file to match the extension it's about.

* Duh, it was supposed to be AnimationController, not AnimatorController.

* Implemented interactive controller for the presentation and dismissal, and cleaned up the code for the animation controller (it doesn't need to know anything about the drawers).

* Added license file and CocoaPods podspec. Not passing lint just yet.

* Removed indirect access to configuration parameters.

* Removed currently unused source file TransitionGeometry.

* Fixed company name in the license file.

* Cleared the team entry in the demo app.

* Demo app: adding controls for all the configurable parameters. WIP.

* Added control for manipulating cubic Bezier control points, CubicBezierView.

* Added all the controls to the presenter VC.

* Fixed a TODO comment.

* Make sure that durationInSeconds is a positive value.

* Removed all references to coversStatusBar since that hasn't been implemented yet.

* Make sure that flickSpeedThreshold is a non-negative value. Also, if zero, disables support for flicking.

* Make sure that upperMarkGap and lowerMarkGap are non-negative values.

* Only add debugging mark lines if at least one of upperMarkGap and lowerMarkGap is a positive value.

* Make sure that maximumCornerRadius is a non-negative value.

* Only animate the corner radius if maximumCornerRadius is strictly positive.

* Make sure that numberOfTapsForOutsideDrawerDismissal is a non-negative value.

* Resolved an issue with animating rounding the presented view corners.

* Simplified the demo app to its bare essentials. No more configuration controls to the wazoo.

* Added based documentation to the library.

* Preliminary version of README. WIP.

* Removed unused assets.

* Added some pseudo-code to the README, to explain the presentation/dismissal logic.

* Code style change.

* Removed unnecessary [weak self] capture lists.

* Changed default value of durationInSeconds from 0.8 to 0.3 seconds.

* Fixed a botched global search/replace in DrawerConfiguration+Equatable.

* Renamed evil local gr variables to less evil names.

* Fixed guard statements as per comments.

* Removed a comment.

* Removed a protocol extension.

* Make sure that the height of the partially expanded drawer is non-negative.

* Added documentation to all exposed public entities.

* Style change as per comments.

* Fixed documentation.

* Updated README file.

* Tweaked the README file.

* Decreased the deployment target requirement, from 10.3 to 10.0.

* Removed hidden extension in the LICENSE file.

* Fixed source_files entry in the podspec. Removed the exclude_files entry.

* Added a .swift-version file with the appropriate version of Swift to pod lib lint the pod.

* Fixed the homepage in the podspec.

* Fixed a bug when running under iOS 10 in which the initial presentation animation doesn't complete, therefore not invoking viewDidAppear, which causes the drawer not to show up at all. The work-around means that the initial presentation and dismissal aren't interactive but Product signed off on that decision. The drawers work fine under iOS 11.

* Style change.

* Killed the use of IUO references.

* Changed author email address in the podspec.

* Added support for Carthage.

* [ci skip] Removed a commented out section from the README. Also, an excuse to turn CI off since DrawerKit fails it for lack of configuration for testing.

* Added CircleCI config file. (#9)

* Added CircleCI config file.

* Changed circle.yml to "test" with the simulator, which disables testing

* Let's try this one more time, shall we?

* And again

* Fixed circle.yml

* And again

* Fixed circle.yml

* Fixed circle.yml.

* Added CircleCI badge to README.

* Simplified circle.yml build command.

* Added dependency management commands to circle.yml

* Fixed podspec source item. (#12)

* Fixed podspec source item.

* Missed the s in https.

* DrawerKit release 0.0.1 (#13) (#14)

* Added git ignore file

* Added project workspace

* Added tab bar template project

* Added DrawerKit empty framework

* Added basic view controllers and storyboards

* Fixed broken outlets

* Added implementation of DrawerKit. A few bits to complete still.

* Hooked up the view controllers to the custom presentation.

* Added clamping to the three possible resting positions of the drawer

* Added more configuration to the presenting VC

* Fixed a few glitches related to allowing partial expansion or not, and some refactoring.

* Removed the two timing configurations and now using only one for all animations.

* Added support for not having the gesture recognisers.

* Fixed a potential division by zero.

* Adding more configuration controls to presenting VC. WIP.

* Added debug mode.

* Added some TODOs

* Renamed a function to make it clear it's a debugging feature.

* Minor refactoring.

* Renamed some source files for better clarity of intention.

* Removed source headers.

* Changed the presented VC to make a larger drawer (easier to play with).

* Changed some parameters as per Sam's input.

* Improved behaviour of corner rounding at the two edges of the screen. Still not a perfect solution because the animator's completion block is, surprisingly, not always called. Apparently, that's a bug in UIViewPropertyAnimator.

* Made the logic for the drawer behaviour easier to read, because Sergey doesn't like `guard` with boolean statements. ;)

* Moved some code closer to where it's actually used.

* Minor formatting.

* Added a fix to the corner-radius animation issue whereby the corner radius would not be set to zero because the property animator's completion would not always be called. Now we force it to zero on presentationTransitionDidEnd() (for the appropriate drawer ending positions).

* Disabled automatic code signing.

* The heights of the bands surrounding the resting position of the drawer are now given in absolute rather than relative terms.

* Oopsie... committed a compiler error. Fixed now.

* Added a scrollview to the presented view controller in the demo app, for testing how scrolling interacts with the drag gesture recogniser in the presentation controller.

* Added an interaction controller, the first step in fixing the non-interactive presentation/dismissal itself.

* Renamed TransitionAnimator to AnimationController.

* Renamed a file to match the extension it's about.

* Duh, it was supposed to be AnimationController, not AnimatorController.

* Implemented interactive controller for the presentation and dismissal, and cleaned up the code for the animation controller (it doesn't need to know anything about the drawers).

* Added license file and CocoaPods podspec. Not passing lint just yet.

* Removed indirect access to configuration parameters.

* Removed currently unused source file TransitionGeometry.

* Fixed company name in the license file.

* Cleared the team entry in the demo app.

* Demo app: adding controls for all the configurable parameters. WIP.

* Added control for manipulating cubic Bezier control points, CubicBezierView.

* Added all the controls to the presenter VC.

* Fixed a TODO comment.

* Make sure that durationInSeconds is a positive value.

* Removed all references to coversStatusBar since that hasn't been implemented yet.

* Make sure that flickSpeedThreshold is a non-negative value. Also, if zero, disables support for flicking.

* Make sure that upperMarkGap and lowerMarkGap are non-negative values.

* Only add debugging mark lines if at least one of upperMarkGap and lowerMarkGap is a positive value.

* Make sure that maximumCornerRadius is a non-negative value.

* Only animate the corner radius if maximumCornerRadius is strictly positive.

* Make sure that numberOfTapsForOutsideDrawerDismissal is a non-negative value.

* Resolved an issue with animating rounding the presented view corners.

* Simplified the demo app to its bare essentials. No more configuration controls to the wazoo.

* Added based documentation to the library.

* Preliminary version of README. WIP.

* Removed unused assets.

* Added some pseudo-code to the README, to explain the presentation/dismissal logic.

* Code style change.

* Removed unnecessary [weak self] capture lists.

* Changed default value of durationInSeconds from 0.8 to 0.3 seconds.

* Fixed a botched global search/replace in DrawerConfiguration+Equatable.

* Renamed evil local gr variables to less evil names.

* Fixed guard statements as per comments.

* Removed a comment.

* Removed a protocol extension.

* Make sure that the height of the partially expanded drawer is non-negative.

* Added documentation to all exposed public entities.

* Style change as per comments.

* Fixed documentation.

* Updated README file.

* Tweaked the README file.

* Decreased the deployment target requirement, from 10.3 to 10.0.

* Removed hidden extension in the LICENSE file.

* Fixed source_files entry in the podspec. Removed the exclude_files entry.

* Added a .swift-version file with the appropriate version of Swift to pod lib lint the pod.

* Fixed the homepage in the podspec.

* Fixed a bug when running under iOS 10 in which the initial presentation animation doesn't complete, therefore not invoking viewDidAppear, which causes the drawer not to show up at all. The work-around means that the initial presentation and dismissal aren't interactive but Product signed off on that decision. The drawers work fine under iOS 11.

* Style change.

* Killed the use of IUO references.

* Changed author email address in the podspec.

* Added support for Carthage.

* [ci skip] Removed a commented out section from the README. Also, an excuse to turn CI off since DrawerKit fails it for lack of configuration for testing.

* Added CircleCI config file. (#9)

* Added CircleCI config file.

* Changed circle.yml to "test" with the simulator, which disables testing

* Let's try this one more time, shall we?

* And again

* Fixed circle.yml

* And again

* Fixed circle.yml

* Fixed circle.yml.

* Added CircleCI badge to README.

* Simplified circle.yml build command.

* Added dependency management commands to circle.yml

* Fixed podspec source item. (#12)

* Fixed podspec source item.

* Missed the s in https.

* Add gif and fixes the circle CI badge. (#17)

* Adds a gif and fixes the circleci badge.

* Moved the gif down a bit.

* Removed extra space below the gif.

* Changes version from 0.0.1 to 0.1. (#18)
  • Loading branch information
wltrup authored Oct 17, 2017
1 parent 2ce1e99 commit a4b503f
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 2 deletions.
2 changes: 1 addition & 1 deletion DrawerKit.podspec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|

s.name = "DrawerKit"
s.version = "0.0.1"
s.version = "0.1"
s.summary = "An implementation of an interactive and animated view, similar to what you see in Apple Maps"

s.description = <<-DESC
Expand Down
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# DrawerKit

[![circleci](https://circleci.com/gh/:owner/:repo.svg?style=shield&circle-token=:circle-token)](https://circleci.com)
[![circleci](https://circleci.com/gh/Babylonpartners/DrawerKit/tree/master.svg?style=svg)](https://circleci.com)
[![Carthage](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
[![Version](https://img.shields.io/cocoapods/v/DrawerKit.svg?style=flat)](http://cocoapods.org/pods/DrawerKit)
[![Platform](https://img.shields.io/cocoapods/p/DrawerKit.svg?style=flat)](http://cocoapods.org/pods/DrawerKit)
Expand All @@ -16,6 +16,12 @@ until it's fully presented or fully dismissed. It's *not* (yet) a complete imple
the Maps app simply because our specific needs dictated something else. We intend to continue working on it to address
that limitation.

<p align="center">
<a href="https://github.com/Babylonpartners/DrawerKit/">
<img src="drawers.gif" alt="DrawerKit" />
</a>
</p>

## What version of iOS does it require or support?

__DrawerKit__ is compatible with iOS 10 and above.
Expand Down
Binary file added drawers.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit a4b503f

Please sign in to comment.