Skip to content
Permalink
Browse files

Merge pull request #1 from jhrcook/paging-vc

Paging View Controller
  • Loading branch information...
jhrcook committed Oct 1, 2019
2 parents 1512c48 + fc92530 commit e2a11d53a1ff677914538511682c90efb5edb199
Showing with 5,348 additions and 1,352 deletions.
  1. +150 −0 .gitignore
  2. +13 −5 Germination Tracker.xcodeproj/project.pbxproj
  3. +9 −1 Germination Tracker.xcodeproj/xcuserdata/admin.xcuserdatad/xcschemes/xcschememanagement.plist
  4. BIN Germination Tracker.xcworkspace/xcuserdata/admin.xcuserdatad/UserInterfaceState.xcuserstate
  5. +25 −11 Germination Tracker.xcworkspace/xcuserdata/admin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  6. +2 −2 Germination Tracker/Models/PlantsArrayManager.swift
  7. +10 −8 Germination Tracker/Models/SeedNote.swift
  8. +55 −33 Germination Tracker/View Controllers/ChartViewController.swift
  9. +25 −23 Germination Tracker/View Controllers/DatePickerViewController.swift
  10. +13 −25 Germination Tracker/View Controllers/DetailPagingViewController.swift
  11. +21 −26 Germination Tracker/View Controllers/EditNoteViewController.swift
  12. +139 −0 Germination Tracker/View Controllers/InformationViewController.swift
  13. +16 −5 Germination Tracker/View Controllers/LibraryViewController.swift
  14. +41 −10 Germination Tracker/View Controllers/NotesTableViewController.swift
  15. +149 −0 Germination Tracker/View Controllers/PagingViewController.swift
  16. +39 −0 Germination Tracker/Views/AppThemeColors.swift
  17. +25 −11 Germination Tracker/Views/Base.lproj/Main.storyboard
  18. +0 −1 Germination Tracker/Views/DetailPagingView.swift
  19. +136 −36 Germination Tracker/Views/EditNoteView.swift
  20. +284 −93 Germination Tracker/Views/InformationView.swift
  21. +0 −120 Germination Tracker/Views/NoteTableViewCell.swift
  22. +1 −0 Podfile
  23. +5 −1 Podfile.lock
  24. +5 −1 Pods/Manifest.lock
  25. +21 −0 Pods/Pageboy/LICENSE
  26. +194 −0 Pods/Pageboy/README.md
  27. +198 −0 Pods/Pageboy/Sources/Pageboy/AutoScrolling/PageboyAutoScroller.swift
  28. +17 −0 Pods/Pageboy/Sources/Pageboy/AutoScrolling/PageboyViewController+AutoScrolling.swift
  29. +78 −0 Pods/Pageboy/Sources/Pageboy/Model/NavigationDirection.swift
  30. +85 −0 Pods/Pageboy/Sources/Pageboy/Model/Page.swift
  31. +19 −0 Pods/Pageboy/Sources/Pageboy/Pageboy.h
  32. +314 −0 Pods/Pageboy/Sources/Pageboy/PageboyViewController+Management.swift
  33. +252 −0 Pods/Pageboy/Sources/Pageboy/PageboyViewController+ScrollCalculations.swift
  34. +158 −0 Pods/Pageboy/Sources/Pageboy/PageboyViewController+ScrollDetection.swift
  35. +107 −0 Pods/Pageboy/Sources/Pageboy/PageboyViewController+Updating.swift
  36. +483 −0 Pods/Pageboy/Sources/Pageboy/PageboyViewController.swift
  37. +33 −0 Pods/Pageboy/Sources/Pageboy/Protocols/PageboyViewControllerDataSource.swift
  38. +58 −0 Pods/Pageboy/Sources/Pageboy/Protocols/PageboyViewControllerDelegate.swift
  39. +176 −0 Pods/Pageboy/Sources/Pageboy/Transitioning/PageboyViewController+Transitioning.swift
  40. +85 −0 Pods/Pageboy/Sources/Pageboy/Transitioning/TransitionOperation+Action.swift
  41. +142 −0 Pods/Pageboy/Sources/Pageboy/Transitioning/TransitionOperation.swift
  42. +31 −0 Pods/Pageboy/Sources/Pageboy/UIViewController+Pageboy.swift
  43. +20 −0 Pods/Pageboy/Sources/Pageboy/Utilities/Extensions/DispatchQueue+main.swift
  44. +25 −0 Pods/Pageboy/Sources/Pageboy/Utilities/Extensions/UIApplication+SafeShared.swift
  45. +21 −0 Pods/Pageboy/Sources/Pageboy/Utilities/Extensions/UIPageViewController+ScrollView.swift
  46. +17 −0 Pods/Pageboy/Sources/Pageboy/Utilities/Extensions/UIScrollView+ScrollActivity.swift
  47. +22 −0 Pods/Pageboy/Sources/Pageboy/Utilities/Extensions/UIView+Animation.swift
  48. +108 −0 Pods/Pageboy/Sources/Pageboy/Utilities/Extensions/UIView+AutoLayout.swift
  49. +26 −0 Pods/Pageboy/Sources/Pageboy/Utilities/Extensions/UIView+Localization.swift
  50. +47 −0 Pods/Pageboy/Sources/Pageboy/Utilities/IndexedObjectMap.swift
  51. +25 −0 Pods/Pageboy/Sources/Pageboy/Utilities/WeakContainer.swift
  52. +1,210 −931 Pods/Pods.xcodeproj/project.pbxproj
  53. +60 −0 Pods/Pods.xcodeproj/xcuserdata/admin.xcuserdatad/xcschemes/Pageboy.xcscheme
  54. +10 −3 Pods/Pods.xcodeproj/xcuserdata/admin.xcuserdatad/xcschemes/xcschememanagement.plist
  55. +26 −0 Pods/Target Support Files/Pageboy/Pageboy-Info.plist
  56. +5 −0 Pods/Target Support Files/Pageboy/Pageboy-dummy.m
  57. +12 −0 Pods/Target Support Files/Pageboy/Pageboy-prefix.pch
  58. +17 −0 Pods/Target Support Files/Pageboy/Pageboy-umbrella.h
  59. +6 −0 Pods/Target Support Files/Pageboy/Pageboy.modulemap
  60. +9 −0 Pods/Target Support Files/Pageboy/Pageboy.xcconfig
  61. +25 −0 .../Target Support Files/Pods-Germination Tracker/Pods-Germination Tracker-acknowledgements.markdown
  62. +31 −0 Pods/Target Support Files/Pods-Germination Tracker/Pods-Germination Tracker-acknowledgements.plist
  63. +1 −0 ...t Files/Pods-Germination Tracker/Pods-Germination Tracker-frameworks-Debug-input-files.xcfilelist
  64. +1 −0 ... Files/Pods-Germination Tracker/Pods-Germination Tracker-frameworks-Debug-output-files.xcfilelist
  65. +1 −0 ...Files/Pods-Germination Tracker/Pods-Germination Tracker-frameworks-Release-input-files.xcfilelist
  66. +1 −0 ...iles/Pods-Germination Tracker/Pods-Germination Tracker-frameworks-Release-output-files.xcfilelist
  67. +2 −0 Pods/Target Support Files/Pods-Germination Tracker/Pods-Germination Tracker-frameworks.sh
  68. +3 −3 Pods/Target Support Files/Pods-Germination Tracker/Pods-Germination Tracker.debug.xcconfig
  69. +3 −3 Pods/Target Support Files/Pods-Germination Tracker/Pods-Germination Tracker.release.xcconfig
@@ -0,0 +1,150 @@

# Created by https://www.gitignore.io/api/swift,xcode,macos,swiftpm,cocoapods,swiftpackagemanager
# Edit at https://www.gitignore.io/?templates=swift,xcode,macos,swiftpm,cocoapods,swiftpackagemanager

### CocoaPods ###
## CocoaPods GitIgnore Template

# CocoaPods - Only use to conserve bandwidth / Save time on Pushing
# - Also handy if you have a large number of dependant pods
# - AS PER https://guides.cocoapods.org/using/using-cocoapods.html NEVER IGNORE THE LOCK FILE
Pods/

### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon

# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

### Swift ###
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

## Build generated
build/
DerivedData/

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/

## Other
*.moved-aside
*.xccheckout
*.xcscmblueprint

## Obj-C/Swift specific
*.hmap
*.ipa
*.dSYM.zip
*.dSYM

## Playgrounds
timeline.xctimeline
playground.xcworkspace

# Swift Package Manager
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
# Package.pins
# Package.resolved
.build/
# Add this line if you want to avoid checking in Xcode SPM integration.
# .swiftpm/xcode

# CocoaPods
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
# Pods/
# Add this line if you want to avoid checking in source code from the Xcode workspace
# *.xcworkspace

# Carthage
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts

Carthage/Build

# Accio dependency management
Dependencies/
.accio/

# fastlane
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/#source-control

fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots/**/*.png
fastlane/test_output

# Code Injection
# After new code Injection tools there's a generated folder /iOSInjectionProject
# https://github.com/johnno1962/injectionforxcode

iOSInjectionProject/

### SwiftPackageManager ###
Packages
xcuserdata
*.xcodeproj


### SwiftPM ###


### Xcode ###
# Xcode
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

## User settings

## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)

## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)

## Xcode Patch
*.xcodeproj/*
!*.xcodeproj/project.pbxproj
!*.xcodeproj/xcshareddata/
!*.xcworkspace/contents.xcworkspacedata
/*.gcno

### Xcode Patch ###
**/xcshareddata/WorkspaceSettings.xcsettings

# End of https://www.gitignore.io/api/swift,xcode,macos,swiftpm,cocoapods,swiftpackagemanager

@@ -9,14 +9,16 @@
/* Begin PBXBuildFile section */
840100A32338F4EC00AD7B1B /* NotesTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 840100A22338F4EC00AD7B1B /* NotesTableViewController.swift */; };
840100A52338F52D00AD7B1B /* SeedNote.swift in Sources */ = {isa = PBXBuildFile; fileRef = 840100A42338F52D00AD7B1B /* SeedNote.swift */; };
840100A92338F9A000AD7B1B /* NoteTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 840100A82338F9A000AD7B1B /* NoteTableViewCell.swift */; };
8405D4A723419236004CF4BB /* AppThemeColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8405D4A623419236004CF4BB /* AppThemeColors.swift */; };
841DF34423359FC900D20B08 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 841DF34323359FC900D20B08 /* AppDelegate.swift */; };
841DF34623359FC900D20B08 /* LibraryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 841DF34523359FC900D20B08 /* LibraryViewController.swift */; };
841DF34923359FC900D20B08 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 841DF34723359FC900D20B08 /* Main.storyboard */; };
841DF34B23359FCB00D20B08 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 841DF34A23359FCB00D20B08 /* Assets.xcassets */; };
841DF34E23359FCB00D20B08 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 841DF34C23359FCB00D20B08 /* LaunchScreen.storyboard */; };
841DF3562335AAB700D20B08 /* Plant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 841DF3552335AAB700D20B08 /* Plant.swift */; };
841DF3582335ACC700D20B08 /* PlantsArrayManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 841DF3572335ACC700D20B08 /* PlantsArrayManager.swift */; };
842149B0233DB137006CA704 /* PagingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 842149AF233DB137006CA704 /* PagingViewController.swift */; };
842149B2233DB27F006CA704 /* InformationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 842149B1233DB27F006CA704 /* InformationViewController.swift */; };
845780F123383D55004EEAD1 /* DatePickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 845780F023383D55004EEAD1 /* DatePickerViewController.swift */; };
847B6EF8233714FC00BEFFC4 /* InformationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847B6EF7233714FC00BEFFC4 /* InformationView.swift */; };
847B6EFC233717C600BEFFC4 /* DetailPagingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847B6EFB233717C600BEFFC4 /* DetailPagingView.swift */; };
@@ -30,7 +32,7 @@
/* Begin PBXFileReference section */
840100A22338F4EC00AD7B1B /* NotesTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotesTableViewController.swift; sourceTree = "<group>"; };
840100A42338F52D00AD7B1B /* SeedNote.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SeedNote.swift; sourceTree = "<group>"; };
840100A82338F9A000AD7B1B /* NoteTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = NoteTableViewCell.swift; path = "Germination Tracker/Views/NoteTableViewCell.swift"; sourceTree = SOURCE_ROOT; };
8405D4A623419236004CF4BB /* AppThemeColors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppThemeColors.swift; sourceTree = "<group>"; };
841DF34023359FC900D20B08 /* Germination Tracker.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Germination Tracker.app"; sourceTree = BUILT_PRODUCTS_DIR; };
841DF34323359FC900D20B08 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
841DF34523359FC900D20B08 /* LibraryViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LibraryViewController.swift; sourceTree = "<group>"; };
@@ -40,6 +42,8 @@
841DF34F23359FCB00D20B08 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
841DF3552335AAB700D20B08 /* Plant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Plant.swift; sourceTree = "<group>"; };
841DF3572335ACC700D20B08 /* PlantsArrayManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlantsArrayManager.swift; sourceTree = "<group>"; };
842149AF233DB137006CA704 /* PagingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PagingViewController.swift; sourceTree = "<group>"; };
842149B1233DB27F006CA704 /* InformationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InformationViewController.swift; sourceTree = "<group>"; };
845780F023383D55004EEAD1 /* DatePickerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatePickerViewController.swift; sourceTree = "<group>"; };
847B6EF7233714FC00BEFFC4 /* InformationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InformationView.swift; sourceTree = "<group>"; };
847B6EFB233717C600BEFFC4 /* DetailPagingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailPagingView.swift; sourceTree = "<group>"; };
@@ -110,9 +114,11 @@
children = (
841DF34523359FC900D20B08 /* LibraryViewController.swift */,
849CA3222336E28700505FE9 /* DetailPagingViewController.swift */,
842149AF233DB137006CA704 /* PagingViewController.swift */,
842149B1233DB27F006CA704 /* InformationViewController.swift */,
840100A22338F4EC00AD7B1B /* NotesTableViewController.swift */,
848E8CF0233B080400C663D0 /* ChartViewController.swift */,
845780F023383D55004EEAD1 /* DatePickerViewController.swift */,
840100A22338F4EC00AD7B1B /* NotesTableViewController.swift */,
84B63CA72339B54B0064444C /* EditNoteViewController.swift */,
);
path = "View Controllers";
@@ -123,10 +129,10 @@
children = (
847B6EFB233717C600BEFFC4 /* DetailPagingView.swift */,
847B6EF7233714FC00BEFFC4 /* InformationView.swift */,
840100A82338F9A000AD7B1B /* NoteTableViewCell.swift */,
84B63CA92339B55C0064444C /* EditNoteView.swift */,
841DF34723359FC900D20B08 /* Main.storyboard */,
841DF34C23359FCB00D20B08 /* LaunchScreen.storyboard */,
8405D4A623419236004CF4BB /* AppThemeColors.swift */,
);
path = Views;
sourceTree = "<group>";
@@ -263,6 +269,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8405D4A723419236004CF4BB /* AppThemeColors.swift in Sources */,
841DF34623359FC900D20B08 /* LibraryViewController.swift in Sources */,
848E8CF1233B080400C663D0 /* ChartViewController.swift in Sources */,
840100A52338F52D00AD7B1B /* SeedNote.swift in Sources */,
@@ -272,11 +279,12 @@
849CA3232336E28700505FE9 /* DetailPagingViewController.swift in Sources */,
847B6EF8233714FC00BEFFC4 /* InformationView.swift in Sources */,
847B6EFC233717C600BEFFC4 /* DetailPagingView.swift in Sources */,
842149B0233DB137006CA704 /* PagingViewController.swift in Sources */,
841DF34423359FC900D20B08 /* AppDelegate.swift in Sources */,
841DF3582335ACC700D20B08 /* PlantsArrayManager.swift in Sources */,
840100A32338F4EC00AD7B1B /* NotesTableViewController.swift in Sources */,
84B63CA82339B54B0064444C /* EditNoteViewController.swift in Sources */,
840100A92338F9A000AD7B1B /* NoteTableViewCell.swift in Sources */,
842149B2233DB27F006CA704 /* InformationViewController.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -7,7 +7,15 @@
<key>Germination Tracker.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>5</integer>
<integer>6</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>841DF33F23359FC900D20B08</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict>
</dict>
Binary file not shown.
@@ -5,20 +5,34 @@
version = "2.0">
<Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
BreakpointExtensionID = "Xcode.Breakpoint.SymbolicBreakpoint">
<BreakpointContent
uuid = "5AD7819B-A037-465D-A808-0A011676DE7F"
shouldBeEnabled = "Yes"
uuid = "BD042ADE-547C-459B-ABD8-D7894BE31861"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Germination Tracker/View Controllers/NotesCollectionViewController.swift"
timestampString = "590956675.3937531"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "54"
endingLineNumber = "54"
landmarkName = "viewDidLoad()"
landmarkType = "7">
symbolName = "UIViewAlertForUnsatisfiableConstraints"
moduleName = "">
<Actions>
<BreakpointActionProxy
ActionExtensionID = "Xcode.BreakpointAction.DebuggerCommand">
<ActionContent
consoleCommand = "expr -l objc++ -O -- [[UIWindow keyWindow] _autolayoutTrace]">
</ActionContent>
</BreakpointActionProxy>
</Actions>
<Locations>
<Location
uuid = "BD042ADE-547C-459B-ABD8-D7894BE31861 - ba3ad5676a792f38"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "UIViewAlertForUnsatisfiableConstraints"
moduleName = "UIKitCore"
usesParentBreakpointCondition = "Yes"
offsetFromSymbolStart = "0">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
@@ -16,8 +16,8 @@ class PlantsArrayManager {


init() {
// loadPlants()
makeTestPlantsArray()
loadPlants()
// makeTestPlantsArray()
}


@@ -10,19 +10,21 @@ import Foundation

struct SeedNote: Codable {

var title: String
var detail: String
var dateCreated: Date
var text: String

init(title: String, detail: String, dateCreated: Date) {
self.title = title
self.detail = detail
init(text: String, dateCreated: Date) {
self.text = text
self.dateCreated = dateCreated
}

init(title: String, detail: String) {
self.title = title
self.detail = detail
init(text: String) {
self.text = text
self.dateCreated = Date()
}

init() {
self.text = ""
self.dateCreated = Date()
}
}

0 comments on commit e2a11d5

Please sign in to comment.
You can’t perform that action at this time.