Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introducing DrawerKit #2

Merged
merged 85 commits into from Oct 17, 2017
Merged
Show file tree
Hide file tree
Changes from 82 commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
4be3003
Added git ignore file
wltrup Oct 11, 2017
b392cca
Added project workspace
wltrup Oct 11, 2017
4895d95
Added tab bar template project
wltrup Oct 11, 2017
632633d
Added DrawerKit empty framework
wltrup Oct 11, 2017
5c186e9
Added basic view controllers and storyboards
wltrup Oct 11, 2017
aa0f36f
Fixed broken outlets
wltrup Oct 11, 2017
1e79e2f
Added implementation of DrawerKit. A few bits to complete still.
wltrup Oct 11, 2017
752abad
Hooked up the view controllers to the custom presentation.
wltrup Oct 11, 2017
3c0b91c
Added clamping to the three possible resting positions of the drawer
wltrup Oct 11, 2017
878ca27
Added more configuration to the presenting VC
wltrup Oct 11, 2017
0255cbe
Fixed a few glitches related to allowing partial expansion or not, an…
wltrup Oct 11, 2017
5ff1a8a
Removed the two timing configurations and now using only one for all …
wltrup Oct 11, 2017
8c83b60
Added support for not having the gesture recognisers.
wltrup Oct 12, 2017
55da51d
Fixed a potential division by zero.
wltrup Oct 12, 2017
dbcf49e
Adding more configuration controls to presenting VC. WIP.
wltrup Oct 12, 2017
6e98524
Added debug mode.
wltrup Oct 12, 2017
dced881
Added some TODOs
wltrup Oct 12, 2017
a422b3d
Renamed a function to make it clear it's a debugging feature.
wltrup Oct 12, 2017
3e736d1
Minor refactoring.
wltrup Oct 12, 2017
f9ec01e
Renamed some source files for better clarity of intention.
wltrup Oct 12, 2017
a0baa3b
Removed source headers.
wltrup Oct 12, 2017
39ca74d
Changed the presented VC to make a larger drawer (easier to play with).
wltrup Oct 12, 2017
69bf74f
Changed some parameters as per Sam's input.
wltrup Oct 12, 2017
88def74
Improved behaviour of corner rounding at the two edges of the screen.…
wltrup Oct 12, 2017
c15c77f
Made the logic for the drawer behaviour easier to read, because Serge…
wltrup Oct 12, 2017
4d18a70
Moved some code closer to where it's actually used.
wltrup Oct 12, 2017
21c030e
Minor formatting.
wltrup Oct 12, 2017
04cd82c
Added a fix to the corner-radius animation issue whereby the corner r…
wltrup Oct 12, 2017
1801863
Disabled automatic code signing.
wltrup Oct 12, 2017
2490d08
The heights of the bands surrounding the resting position of the draw…
wltrup Oct 12, 2017
b1afd54
Oopsie... committed a compiler error. Fixed now.
wltrup Oct 12, 2017
79261da
Added a scrollview to the presented view controller in the demo app, …
wltrup Oct 12, 2017
d8d2271
Added an interaction controller, the first step in fixing the non-int…
wltrup Oct 12, 2017
bb5377f
Renamed TransitionAnimator to AnimationController.
wltrup Oct 12, 2017
e90bf24
Renamed a file to match the extension it's about.
wltrup Oct 12, 2017
4ecf66c
Duh, it was supposed to be AnimationController, not AnimatorController.
wltrup Oct 12, 2017
ac7c5ff
Implemented interactive controller for the presentation and dismissal…
wltrup Oct 12, 2017
6787d07
Added license file and CocoaPods podspec. Not passing lint just yet.
wltrup Oct 13, 2017
eebde02
Removed indirect access to configuration parameters.
wltrup Oct 13, 2017
d15f081
Removed currently unused source file TransitionGeometry.
wltrup Oct 13, 2017
37c1aad
Fixed company name in the license file.
wltrup Oct 13, 2017
88cf9dc
Cleared the team entry in the demo app.
wltrup Oct 13, 2017
907befc
Demo app: adding controls for all the configurable parameters. WIP.
wltrup Oct 14, 2017
63233cd
Added control for manipulating cubic Bezier control points, CubicBezi…
wltrup Oct 15, 2017
1833625
Added all the controls to the presenter VC.
wltrup Oct 15, 2017
bb77e30
Fixed a TODO comment.
wltrup Oct 15, 2017
ab99b5e
Make sure that durationInSeconds is a positive value.
wltrup Oct 15, 2017
2ec596d
Removed all references to coversStatusBar since that hasn't been impl…
wltrup Oct 15, 2017
7b2a304
Make sure that flickSpeedThreshold is a non-negative value. Also, if …
wltrup Oct 15, 2017
355d67a
Make sure that upperMarkGap and lowerMarkGap are non-negative values.
wltrup Oct 15, 2017
a3f545b
Only add debugging mark lines if at least one of upperMarkGap and low…
wltrup Oct 15, 2017
7efb133
Make sure that maximumCornerRadius is a non-negative value.
wltrup Oct 15, 2017
01b1974
Only animate the corner radius if maximumCornerRadius is strictly pos…
wltrup Oct 15, 2017
53476c3
Make sure that numberOfTapsForOutsideDrawerDismissal is a non-negativ…
wltrup Oct 15, 2017
3cabcd6
Resolved an issue with animating rounding the presented view corners.
wltrup Oct 15, 2017
412a27e
Simplified the demo app to its bare essentials. No more configuration…
wltrup Oct 15, 2017
f52a637
Added based documentation to the library.
wltrup Oct 15, 2017
d6734eb
Preliminary version of README. WIP.
wltrup Oct 15, 2017
a1ff7d7
Removed unused assets.
wltrup Oct 15, 2017
0dda897
Added some pseudo-code to the README, to explain the presentation/dis…
wltrup Oct 16, 2017
882795b
Code style change.
wltrup Oct 16, 2017
d096649
Removed unnecessary [weak self] capture lists.
wltrup Oct 16, 2017
f590dc8
Changed default value of durationInSeconds from 0.8 to 0.3 seconds.
wltrup Oct 16, 2017
59fb582
Fixed a botched global search/replace in DrawerConfiguration+Equatable.
wltrup Oct 16, 2017
561b449
Renamed evil local gr variables to less evil names.
wltrup Oct 16, 2017
557798a
Fixed guard statements as per comments.
wltrup Oct 16, 2017
c3b09d6
Removed a comment.
wltrup Oct 16, 2017
d42f7c7
Removed a protocol extension.
wltrup Oct 16, 2017
60085af
Make sure that the height of the partially expanded drawer is non-neg…
wltrup Oct 16, 2017
e4fa1c7
Added documentation to all exposed public entities.
wltrup Oct 16, 2017
6a3e3fd
Style change as per comments.
wltrup Oct 16, 2017
942318c
Fixed documentation.
wltrup Oct 16, 2017
eb46380
Updated README file.
wltrup Oct 16, 2017
a2883fc
Tweaked the README file.
wltrup Oct 16, 2017
56bc186
Decreased the deployment target requirement, from 10.3 to 10.0.
wltrup Oct 16, 2017
9b4ba38
Removed hidden extension in the LICENSE file.
wltrup Oct 16, 2017
ed3decd
Fixed source_files entry in the podspec. Removed the exclude_files en…
wltrup Oct 16, 2017
7fb4034
Added a .swift-version file with the appropriate version of Swift to …
wltrup Oct 16, 2017
d9d81f5
Fixed the homepage in the podspec.
wltrup Oct 16, 2017
122463f
Fixed a bug when running under iOS 10 in which the initial presentati…
wltrup Oct 16, 2017
f1338bf
Style change.
wltrup Oct 16, 2017
12c5940
Killed the use of IUO references.
wltrup Oct 16, 2017
df37082
Changed author email address in the podspec.
wltrup Oct 16, 2017
21e39d4
Added support for Carthage.
wltrup Oct 17, 2017
b1a2f1a
[ci skip] Removed a commented out section from the README. Also, an e…
wltrup Oct 17, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
190 changes: 190 additions & 0 deletions .gitignore
@@ -0,0 +1,190 @@
#####
# OS X temporary files that should never be committed
#
# c.f. http://www.westwind.com/reference/os-x/invisibles.html

.DS_Store

# c.f. http://www.westwind.com/reference/os-x/invisibles.html

.Trashes

# c.f. http://www.westwind.com/reference/os-x/invisibles.html

*.swp

# *.lock - this is used and abused by many editors for many different things.
# For the main ones I use (e.g. Eclipse), it should be excluded
# from source-control, but YMMV

*.lock

#
# profile - REMOVED temporarily (on double-checking, this seems incorrect; I can't find it in OS X docs?)
#profile


####
# Xcode temporary files that should never be committed
#
# NB: NIB/XIB files still exist even on Storyboard projects, so we want this...

*~.nib


####
# Xcode build files -
#
# NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "DerivedData"

DerivedData/

# NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "build"

build/


#####
# Xcode private settings (window sizes, bookmarks, breakpoints, custom executables, smart groups)
#
# This is complicated:
#
# SOMETIMES you need to put this file in version control.
# Apple designed it poorly - if you use "custom executables", they are
# saved in this file.
# 99% of projects do NOT use those, so they do NOT want to version control this file.
# ..but if you're in the 1%, comment out the line "*.pbxuser"

# .pbxuser: http://lists.apple.com/archives/xcode-users/2004/Jan/msg00193.html

*.pbxuser

# .mode1v3: http://lists.apple.com/archives/xcode-users/2007/Oct/msg00465.html

*.mode1v3

# .mode2v3: http://lists.apple.com/archives/xcode-users/2007/Oct/msg00465.html

*.mode2v3

# .perspectivev3: http://stackoverflow.com/questions/5223297/xcode-projects-what-is-a-perspectivev3-file

*.perspectivev3

# NB: also, whitelist the default ones, some projects need to use these
!default.pbxuser
!default.mode1v3
!default.mode2v3
!default.perspectivev3


####
# Xcode 4 - semi-personal settings
#
#
# OPTION 1: ---------------------------------
# throw away ALL personal settings (including custom schemes!
# - unless they are "shared")
#
# NB: this is exclusive with OPTION 2 below
xcuserdata

# OPTION 2: ---------------------------------
# get rid of ALL personal settings, but KEEP SOME OF THEM
# - NB: you must manually uncomment the bits you want to keep
#
# NB: this is exclusive with OPTION 1 above
#
#xcuserdata/**/*

# (requires option 2 above): Personal Schemes
#
#!xcuserdata/**/xcschemes/*

####
# XCode 4 workspaces - more detailed
#
# Workspaces are important! They are a core feature of Xcode - don't exclude them :)
#
# Workspace layout is quite spammy. For reference:
#
# /(root)/
# /(project-name).xcodeproj/
# project.pbxproj
# /project.xcworkspace/
# contents.xcworkspacedata
# /xcuserdata/
# /(your name)/xcuserdatad/
# UserInterfaceState.xcuserstate
# /xcsshareddata/
# /xcschemes/
# (shared scheme name).xcscheme
# /xcuserdata/
# /(your name)/xcuserdatad/
# (private scheme).xcscheme
# xcschememanagement.plist
#
#

####
# Xcode 4 - Deprecated classes
#
# Allegedly, if you manually "deprecate" your classes, they get moved here.
#
# We're using source-control, so this is a "feature" that we do not want!

*.moved-aside

####
# UNKNOWN: recommended by others, but I can't discover what these files are
#
# ...none. Everything is now explained.

####
#
# Pods and Gems
#
/pods
.bundle/

# Builds
*.ipa

# ssl certificates
*.crt
.idea/.name

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❤️ For including Appcod related files

.idea/babylon-partners.iml
.idea/encodings.xml
.idea/misc.xml
.idea/modules.xml
.idea/runConfigurations/Babylon.xml
.idea/runConfigurations/BabylonAnalysis.xml
.idea/scopes/scope_settings.xml
.idea/vcs.xml
.idea/workspace.xml
.idea/xcode.xml

Iconr\n
Crashlytics.framework
Crashlytics.framework/
Crashlytics.*
Crashlytics
Babylon/dist/
dist.zip
Babylon.xcworkspace
Babylon.xcworkspace/
Pods/
Pods

# Orig files skipped
*.orig

Carthage/Checkouts/*
backboneLocalizationBuilder
.idea/babylon-ios.iml
.idea/runConfigurations/Babylon_STAGING1.xml

# Fastlane
fastlane/README.md
fastlane/report.xml
vendor/
1 change: 1 addition & 0 deletions .swift-version
@@ -0,0 +1 @@
4.0
21 changes: 21 additions & 0 deletions DrawerKit.podspec
@@ -0,0 +1,21 @@
Pod::Spec.new do |s|

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

s.description = <<-DESC
DrawerKit allows you to modally present a view controller from another, in such a way that the
presented view controller slides up as a "drawer", much like what happens when you tap on a location
in the map when using the Apple Maps app. The library is highly configurable, with a few more options
coming soon.
DESC

s.homepage = "https://github.com/Babylonpartners/DrawerKit"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "Wagner Truppel" => "wagner.truppel@babylonhealth.com" }
s.platform = :ios, "10.0"
s.source = { :git => "github.com/Babylonpartners/DrawerKit.git", :tag => "#{s.version}" }
s.source_files = "DrawerKit/**/*.{swift}"

end
10 changes: 10 additions & 0 deletions DrawerKit.xcworkspace/contents.xcworkspacedata

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.