From 584430ac07fce2e43f26e06552cd5d5b4ea08919 Mon Sep 17 00:00:00 2001 From: Ruslan Skorb Date: Fri, 4 Nov 2016 20:10:05 +0200 Subject: [PATCH] [Example] Use source files of RSDayFlow directly from the project instead of using them from Pods. --- .travis.yml | 4 - Example/Podfile | 7 - Example/Podfile.lock | 16 - .../RSDayFlow/NSCalendar+RSDFAdditions.h | 1 - .../RSDayFlow/RSDFDatePickerCollectionView.h | 1 - .../RSDFDatePickerCollectionViewLayout.h | 1 - .../Private/RSDayFlow/RSDFDatePickerDate.h | 1 - .../Private/RSDayFlow/RSDFDatePickerDayCell.h | 1 - .../RSDayFlow/RSDFDatePickerDaysOfWeekView.h | 1 - .../RSDayFlow/RSDFDatePickerMonthHeader.h | 1 - .../RSDayFlow/RSDFDatePickerView+Protected.h | 1 - .../Private/RSDayFlow/RSDFDatePickerView.h | 1 - .../Headers/Private/RSDayFlow/RSDayFlow.h | 1 - .../RSDayFlow/NSCalendar+RSDFAdditions.h | 1 - .../RSDayFlow/RSDFDatePickerCollectionView.h | 1 - .../RSDFDatePickerCollectionViewLayout.h | 1 - .../Public/RSDayFlow/RSDFDatePickerDate.h | 1 - .../Public/RSDayFlow/RSDFDatePickerDayCell.h | 1 - .../RSDayFlow/RSDFDatePickerDaysOfWeekView.h | 1 - .../RSDayFlow/RSDFDatePickerMonthHeader.h | 1 - .../RSDayFlow/RSDFDatePickerView+Protected.h | 1 - .../Public/RSDayFlow/RSDFDatePickerView.h | 1 - .../Pods/Headers/Public/RSDayFlow/RSDayFlow.h | 1 - .../Local Podspecs/RSDayFlow.podspec.json | 28 - Example/Pods/Manifest.lock | 16 - Example/Pods/Pods.xcodeproj/project.pbxproj | 534 ---------- Example/Pods/RSDayFlow/LICENSE | 20 - Example/Pods/RSDayFlow/README.md | 149 --- .../RSDayFlow/NSCalendar+RSDFAdditions.h | 40 - .../RSDayFlow/NSCalendar+RSDFAdditions.m | 62 -- .../RSDayFlow/RSDFDatePickerCollectionView.h | 76 -- .../RSDayFlow/RSDFDatePickerCollectionView.m | 86 -- .../RSDFDatePickerCollectionViewLayout.h | 84 -- .../RSDFDatePickerCollectionViewLayout.m | 121 --- .../RSDayFlow/RSDayFlow/RSDFDatePickerDate.h | 20 - .../RSDayFlow/RSDFDatePickerDayCell.h | 269 ----- .../RSDayFlow/RSDFDatePickerDayCell.m | 492 --------- .../RSDayFlow/RSDFDatePickerDaysOfWeekView.h | 147 --- .../RSDayFlow/RSDFDatePickerDaysOfWeekView.m | 352 ------- .../RSDayFlow/RSDFDatePickerMonthHeader.h | 97 -- .../RSDayFlow/RSDFDatePickerMonthHeader.m | 112 --- .../RSDayFlow/RSDFDatePickerView+Protected.h | 57 -- .../RSDayFlow/RSDayFlow/RSDFDatePickerView.h | 290 ------ .../RSDayFlow/RSDayFlow/RSDFDatePickerView.m | 932 ------------------ Example/Pods/RSDayFlow/RSDayFlow/RSDayFlow.h | 43 - .../Pods/RSDayFlow/RSDayFlow/module.modulemap | 6 - ...RSDayFlowExample-acknowledgements.markdown | 27 - ...ds-RSDayFlowExample-acknowledgements.plist | 57 -- .../Pods-RSDayFlowExample-dummy.m | 5 - .../Pods-RSDayFlowExample-frameworks.sh | 84 -- .../Pods-RSDayFlowExample-resources.sh | 102 -- .../Pods-RSDayFlowExample.debug.xcconfig | 8 - .../Pods-RSDayFlowExample.release.xcconfig | 8 - .../RSDayFlow/RSDayFlow-dummy.m | 5 - .../RSDayFlow/RSDayFlow-prefix.pch | 4 - .../RSDayFlow/RSDayFlow.xcconfig | 9 - .../project.pbxproj | 144 +-- .../contents.xcworkspacedata | 3 - .../AppIcon.appiconset/Contents.json | 15 + 59 files changed, 88 insertions(+), 4463 deletions(-) delete mode 100644 Example/Podfile delete mode 100644 Example/Podfile.lock delete mode 120000 Example/Pods/Headers/Private/RSDayFlow/NSCalendar+RSDFAdditions.h delete mode 120000 Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerCollectionView.h delete mode 120000 Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerCollectionViewLayout.h delete mode 120000 Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerDate.h delete mode 120000 Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerDayCell.h delete mode 120000 Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerDaysOfWeekView.h delete mode 120000 Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerMonthHeader.h delete mode 120000 Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerView+Protected.h delete mode 120000 Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerView.h delete mode 120000 Example/Pods/Headers/Private/RSDayFlow/RSDayFlow.h delete mode 120000 Example/Pods/Headers/Public/RSDayFlow/NSCalendar+RSDFAdditions.h delete mode 120000 Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerCollectionView.h delete mode 120000 Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerCollectionViewLayout.h delete mode 120000 Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerDate.h delete mode 120000 Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerDayCell.h delete mode 120000 Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerDaysOfWeekView.h delete mode 120000 Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerMonthHeader.h delete mode 120000 Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerView+Protected.h delete mode 120000 Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerView.h delete mode 120000 Example/Pods/Headers/Public/RSDayFlow/RSDayFlow.h delete mode 100644 Example/Pods/Local Podspecs/RSDayFlow.podspec.json delete mode 100644 Example/Pods/Manifest.lock delete mode 100644 Example/Pods/Pods.xcodeproj/project.pbxproj delete mode 100644 Example/Pods/RSDayFlow/LICENSE delete mode 100644 Example/Pods/RSDayFlow/README.md delete mode 100644 Example/Pods/RSDayFlow/RSDayFlow/NSCalendar+RSDFAdditions.h delete mode 100644 Example/Pods/RSDayFlow/RSDayFlow/NSCalendar+RSDFAdditions.m delete mode 100644 Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerCollectionView.h delete mode 100644 Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerCollectionView.m delete mode 100644 Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerCollectionViewLayout.h delete mode 100644 Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerCollectionViewLayout.m delete mode 100644 Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDate.h delete mode 100644 Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDayCell.h delete mode 100644 Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDayCell.m delete mode 100644 Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDaysOfWeekView.h delete mode 100644 Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDaysOfWeekView.m delete mode 100644 Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerMonthHeader.h delete mode 100644 Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerMonthHeader.m delete mode 100644 Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerView+Protected.h delete mode 100644 Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerView.h delete mode 100755 Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerView.m delete mode 100644 Example/Pods/RSDayFlow/RSDayFlow/RSDayFlow.h delete mode 100755 Example/Pods/RSDayFlow/RSDayFlow/module.modulemap delete mode 100644 Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-acknowledgements.markdown delete mode 100644 Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-acknowledgements.plist delete mode 100644 Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-dummy.m delete mode 100755 Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-frameworks.sh delete mode 100755 Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-resources.sh delete mode 100644 Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample.debug.xcconfig delete mode 100644 Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample.release.xcconfig delete mode 100644 Example/Pods/Target Support Files/RSDayFlow/RSDayFlow-dummy.m delete mode 100644 Example/Pods/Target Support Files/RSDayFlow/RSDayFlow-prefix.pch delete mode 100644 Example/Pods/Target Support Files/RSDayFlow/RSDayFlow.xcconfig diff --git a/.travis.yml b/.travis.yml index f4e8f25..5b05902 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,15 +4,11 @@ language: objective-c cache: - bundler -podfile: - - Example/Podfile - before_script: - make ci install: - bundle install --jobs=3 --retry=3 --deployment --path=${BUNDLE_PATH:-vendor.bundle} - - bundle exec pod install --project-directory=Example script: - make test diff --git a/Example/Podfile b/Example/Podfile deleted file mode 100644 index 15d3953..0000000 --- a/Example/Podfile +++ /dev/null @@ -1,7 +0,0 @@ -platform :ios, '7.0' - -inhibit_all_warnings! - -target 'RSDayFlowExample' do - pod 'RSDayFlow', :path => '../' -end diff --git a/Example/Podfile.lock b/Example/Podfile.lock deleted file mode 100644 index 26e3d9f..0000000 --- a/Example/Podfile.lock +++ /dev/null @@ -1,16 +0,0 @@ -PODS: - - RSDayFlow (1.5.2) - -DEPENDENCIES: - - RSDayFlow (from `../`) - -EXTERNAL SOURCES: - RSDayFlow: - :path: "../" - -SPEC CHECKSUMS: - RSDayFlow: 5b9b519adaa4a261d41d3efaa724544ea0019160 - -PODFILE CHECKSUM: 4d829404726d7bc5a75114c890aa28219a446b4b - -COCOAPODS: 1.0.1 diff --git a/Example/Pods/Headers/Private/RSDayFlow/NSCalendar+RSDFAdditions.h b/Example/Pods/Headers/Private/RSDayFlow/NSCalendar+RSDFAdditions.h deleted file mode 120000 index 2f955d3..0000000 --- a/Example/Pods/Headers/Private/RSDayFlow/NSCalendar+RSDFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/NSCalendar+RSDFAdditions.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerCollectionView.h b/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerCollectionView.h deleted file mode 120000 index 3bde492..0000000 --- a/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerCollectionView.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/RSDFDatePickerCollectionView.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerCollectionViewLayout.h b/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerCollectionViewLayout.h deleted file mode 120000 index c66b21d..0000000 --- a/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerCollectionViewLayout.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/RSDFDatePickerCollectionViewLayout.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerDate.h b/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerDate.h deleted file mode 120000 index 3401682..0000000 --- a/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerDate.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/RSDFDatePickerDate.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerDayCell.h b/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerDayCell.h deleted file mode 120000 index 6b69fef..0000000 --- a/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerDayCell.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/RSDFDatePickerDayCell.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerDaysOfWeekView.h b/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerDaysOfWeekView.h deleted file mode 120000 index 138058f..0000000 --- a/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerDaysOfWeekView.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/RSDFDatePickerDaysOfWeekView.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerMonthHeader.h b/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerMonthHeader.h deleted file mode 120000 index 30a7ee4..0000000 --- a/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerMonthHeader.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/RSDFDatePickerMonthHeader.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerView+Protected.h b/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerView+Protected.h deleted file mode 120000 index a571293..0000000 --- a/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerView+Protected.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/RSDFDatePickerView+Protected.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerView.h b/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerView.h deleted file mode 120000 index cffaa31..0000000 --- a/Example/Pods/Headers/Private/RSDayFlow/RSDFDatePickerView.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/RSDFDatePickerView.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/RSDayFlow/RSDayFlow.h b/Example/Pods/Headers/Private/RSDayFlow/RSDayFlow.h deleted file mode 120000 index 0e36017..0000000 --- a/Example/Pods/Headers/Private/RSDayFlow/RSDayFlow.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/RSDayFlow.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/RSDayFlow/NSCalendar+RSDFAdditions.h b/Example/Pods/Headers/Public/RSDayFlow/NSCalendar+RSDFAdditions.h deleted file mode 120000 index 2f955d3..0000000 --- a/Example/Pods/Headers/Public/RSDayFlow/NSCalendar+RSDFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/NSCalendar+RSDFAdditions.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerCollectionView.h b/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerCollectionView.h deleted file mode 120000 index 3bde492..0000000 --- a/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerCollectionView.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/RSDFDatePickerCollectionView.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerCollectionViewLayout.h b/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerCollectionViewLayout.h deleted file mode 120000 index c66b21d..0000000 --- a/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerCollectionViewLayout.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/RSDFDatePickerCollectionViewLayout.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerDate.h b/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerDate.h deleted file mode 120000 index 3401682..0000000 --- a/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerDate.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/RSDFDatePickerDate.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerDayCell.h b/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerDayCell.h deleted file mode 120000 index 6b69fef..0000000 --- a/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerDayCell.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/RSDFDatePickerDayCell.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerDaysOfWeekView.h b/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerDaysOfWeekView.h deleted file mode 120000 index 138058f..0000000 --- a/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerDaysOfWeekView.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/RSDFDatePickerDaysOfWeekView.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerMonthHeader.h b/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerMonthHeader.h deleted file mode 120000 index 30a7ee4..0000000 --- a/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerMonthHeader.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/RSDFDatePickerMonthHeader.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerView+Protected.h b/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerView+Protected.h deleted file mode 120000 index a571293..0000000 --- a/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerView+Protected.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/RSDFDatePickerView+Protected.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerView.h b/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerView.h deleted file mode 120000 index cffaa31..0000000 --- a/Example/Pods/Headers/Public/RSDayFlow/RSDFDatePickerView.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/RSDFDatePickerView.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/RSDayFlow/RSDayFlow.h b/Example/Pods/Headers/Public/RSDayFlow/RSDayFlow.h deleted file mode 120000 index 0e36017..0000000 --- a/Example/Pods/Headers/Public/RSDayFlow/RSDayFlow.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../RSDayFlow/RSDayFlow.h \ No newline at end of file diff --git a/Example/Pods/Local Podspecs/RSDayFlow.podspec.json b/Example/Pods/Local Podspecs/RSDayFlow.podspec.json deleted file mode 100644 index 759fcbe..0000000 --- a/Example/Pods/Local Podspecs/RSDayFlow.podspec.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "RSDayFlow", - "version": "1.5.2", - "summary": "iOS 7 Calendar with Infinite Scrolling.", - "homepage": "https://github.com/ruslanskorb/RSDayFlow", - "license": { - "type": "MIT", - "file": "LICENSE" - }, - "authors": { - "Evadne Wu": "ev@radi.ws", - "Ruslan Skorb": "ruslan.skorb@gmail.com" - }, - "source": { - "git": "https://github.com/ruslanskorb/RSDayFlow.git", - "tag": "1.5.2" - }, - "platforms": { - "ios": "7.0" - }, - "module_map": "RSDayFlow/module.modulemap", - "source_files": "RSDayFlow/*.{h,m}", - "frameworks": [ - "QuartzCore", - "UIKit" - ], - "requires_arc": true -} diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock deleted file mode 100644 index 26e3d9f..0000000 --- a/Example/Pods/Manifest.lock +++ /dev/null @@ -1,16 +0,0 @@ -PODS: - - RSDayFlow (1.5.2) - -DEPENDENCIES: - - RSDayFlow (from `../`) - -EXTERNAL SOURCES: - RSDayFlow: - :path: "../" - -SPEC CHECKSUMS: - RSDayFlow: 5b9b519adaa4a261d41d3efaa724544ea0019160 - -PODFILE CHECKSUM: 4d829404726d7bc5a75114c890aa28219a446b4b - -COCOAPODS: 1.0.1 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj deleted file mode 100644 index 13ddd1e..0000000 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ /dev/null @@ -1,534 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 06C720A3256880184C6B011F6C4F8970 /* RSDFDatePickerDaysOfWeekView.m in Sources */ = {isa = PBXBuildFile; fileRef = A29A83331A8E0F43A5C5C4E0155CDA97 /* RSDFDatePickerDaysOfWeekView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0D5169B9C728521EC3F456FEB3BC102C /* RSDFDatePickerCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = F7FED994AD05C34CF2A7D102A0E00843 /* RSDFDatePickerCollectionView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1277E7027543D9ABF24591ADA28F3A2A /* RSDFDatePickerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FC28930868AABE2EF7C0AC27AEFDE3A /* RSDFDatePickerView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 17DF2AAD25C4D55E9955F61A93CCD2B6 /* RSDFDatePickerCollectionViewLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = ADEDEE5DF1A84C9B611549D32A2FB7A4 /* RSDFDatePickerCollectionViewLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1A11C9006C762B42EF25C1F4B00566D3 /* RSDayFlow.h in Headers */ = {isa = PBXBuildFile; fileRef = A37ED1CBB2AEB1A01A8EC0608D1119D9 /* RSDayFlow.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2AB29FA4D7672D9B893461F4E724435E /* RSDFDatePickerDayCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B155A836D12CD01F1FA4B63E304A273 /* RSDFDatePickerDayCell.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 350F22AB5A488F458DED480690105BEC /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 23016F69B2480F44D0BB5526B39192FA /* QuartzCore.framework */; }; - 3C661C203CC2792478D5D7508C6E0D25 /* RSDFDatePickerCollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 88410D7B8E2C56BA432E3820A4975E8C /* RSDFDatePickerCollectionView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4A6096DC4DE6BEFDA264A3C025FE553B /* RSDayFlow-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C29D45C0C09588D12E4519DDC0CBF0A7 /* RSDayFlow-dummy.m */; }; - 4CD05428494F39A6F909CEE34CD609A3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A817CAE99C81EE68006DC1E60E295C0A /* Foundation.framework */; }; - 65546698E4918C5ABBF543CB4C61728E /* RSDFDatePickerCollectionViewLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D1AB68EFB336F459187FD34CBDC2994 /* RSDFDatePickerCollectionViewLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 74AF61D33BF1AF4B9247EC3F93F0D582 /* RSDFDatePickerMonthHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F12252348A766B7BA78EEA151B43970 /* RSDFDatePickerMonthHeader.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8686C69C2BA117A9E305E23F23B4B752 /* RSDFDatePickerView.m in Sources */ = {isa = PBXBuildFile; fileRef = A3009083FEA9038B46F957D901B1B38B /* RSDFDatePickerView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8F740068FB2568855E3564BE1A5524ED /* NSCalendar+RSDFAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 699DBEA842C314C32AFCEE915DE08F1A /* NSCalendar+RSDFAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A099E047D3D0264306339100984B472B /* RSDFDatePickerDate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1254238F4EC93AB001D209804754936D /* RSDFDatePickerDate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A221501EDEEA69670F29E74D26F3D864 /* NSCalendar+RSDFAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D18BCBCD82C1A4DE2E5FBD54030213A /* NSCalendar+RSDFAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B7F426577AB13C979385CD6C10D8B9DC /* RSDFDatePickerDaysOfWeekView.h in Headers */ = {isa = PBXBuildFile; fileRef = 85ACA0ECA8620CCCC3014139B26CF3BB /* RSDFDatePickerDaysOfWeekView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BFB761539A6FE6877EF623C799B7FF46 /* Pods-RSDayFlowExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 34EC10B5BAAFCE84CBF4B78ED31FBDB9 /* Pods-RSDayFlowExample-dummy.m */; }; - C81B688B50917B02FDC96D3A773280DB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A817CAE99C81EE68006DC1E60E295C0A /* Foundation.framework */; }; - D10D13E0EB2852BB19BF0EFA2744EF99 /* RSDFDatePickerView+Protected.h in Headers */ = {isa = PBXBuildFile; fileRef = 699596E0C651D799844BBAE61C13D4B9 /* RSDFDatePickerView+Protected.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D53B64161A8CA2A04B3EDE76A3B9FD9C /* RSDFDatePickerDayCell.m in Sources */ = {isa = PBXBuildFile; fileRef = A9034D3F73F83E9A7BE6CDF25E1626B0 /* RSDFDatePickerDayCell.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DF61B78C2E56205624A5C51F6A2C9A09 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 091D54A73E1E8BB182C9D7D245AF1C2F /* UIKit.framework */; }; - F3478DC1433C959ADF6080E533528382 /* RSDFDatePickerMonthHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 30B3F3F4D4D0E0183D7989BC6BC3BA9D /* RSDFDatePickerMonthHeader.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 315F1E02CD038890D2B340E75F74AB88 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = F8B04CBEEBA67BBDE90E5F3B473C4812; - remoteInfo = RSDayFlow; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 091D54A73E1E8BB182C9D7D245AF1C2F /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - 0FC28930868AABE2EF7C0AC27AEFDE3A /* RSDFDatePickerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RSDFDatePickerView.h; sourceTree = ""; }; - 1254238F4EC93AB001D209804754936D /* RSDFDatePickerDate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RSDFDatePickerDate.h; sourceTree = ""; }; - 174B9007E3888730000A27BEAB61B992 /* Pods-RSDayFlowExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-RSDayFlowExample-acknowledgements.markdown"; sourceTree = ""; }; - 23016F69B2480F44D0BB5526B39192FA /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; - 30B3F3F4D4D0E0183D7989BC6BC3BA9D /* RSDFDatePickerMonthHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RSDFDatePickerMonthHeader.m; sourceTree = ""; }; - 34EC10B5BAAFCE84CBF4B78ED31FBDB9 /* Pods-RSDayFlowExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-RSDayFlowExample-dummy.m"; sourceTree = ""; }; - 3B155A836D12CD01F1FA4B63E304A273 /* RSDFDatePickerDayCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RSDFDatePickerDayCell.h; sourceTree = ""; }; - 3D18BCBCD82C1A4DE2E5FBD54030213A /* NSCalendar+RSDFAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSCalendar+RSDFAdditions.m"; sourceTree = ""; }; - 3E45DF9B61AA13134A09B2DDFA014D97 /* RSDayFlow.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RSDayFlow.xcconfig; sourceTree = ""; }; - 42F96C5D7E6105BACD697EF810B7CB4C /* Pods-RSDayFlowExample-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-RSDayFlowExample-frameworks.sh"; sourceTree = ""; }; - 4F12252348A766B7BA78EEA151B43970 /* RSDFDatePickerMonthHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RSDFDatePickerMonthHeader.h; sourceTree = ""; }; - 699596E0C651D799844BBAE61C13D4B9 /* RSDFDatePickerView+Protected.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RSDFDatePickerView+Protected.h"; sourceTree = ""; }; - 699DBEA842C314C32AFCEE915DE08F1A /* NSCalendar+RSDFAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSCalendar+RSDFAdditions.h"; sourceTree = ""; }; - 6D1AB68EFB336F459187FD34CBDC2994 /* RSDFDatePickerCollectionViewLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RSDFDatePickerCollectionViewLayout.m; sourceTree = ""; }; - 74AB502542E97D4518BE1162FB209BF0 /* Pods-RSDayFlowExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-RSDayFlowExample.debug.xcconfig"; sourceTree = ""; }; - 85ACA0ECA8620CCCC3014139B26CF3BB /* RSDFDatePickerDaysOfWeekView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RSDFDatePickerDaysOfWeekView.h; sourceTree = ""; }; - 88410D7B8E2C56BA432E3820A4975E8C /* RSDFDatePickerCollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RSDFDatePickerCollectionView.h; sourceTree = ""; }; - 8996061F4EAB0C4381A443B57472ED09 /* RSDayFlow-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RSDayFlow-prefix.pch"; sourceTree = ""; }; - 933E3DC6D2DCD938F373779A8E82D066 /* Pods-RSDayFlowExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-RSDayFlowExample-acknowledgements.plist"; sourceTree = ""; }; - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - A29A83331A8E0F43A5C5C4E0155CDA97 /* RSDFDatePickerDaysOfWeekView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RSDFDatePickerDaysOfWeekView.m; sourceTree = ""; }; - A3009083FEA9038B46F957D901B1B38B /* RSDFDatePickerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RSDFDatePickerView.m; sourceTree = ""; }; - A37ED1CBB2AEB1A01A8EC0608D1119D9 /* RSDayFlow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RSDayFlow.h; sourceTree = ""; }; - A817CAE99C81EE68006DC1E60E295C0A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - A9034D3F73F83E9A7BE6CDF25E1626B0 /* RSDFDatePickerDayCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RSDFDatePickerDayCell.m; sourceTree = ""; }; - ABBE2AFC97D716EBF9BD6EC4556E3A97 /* libRSDayFlow.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRSDayFlow.a; sourceTree = BUILT_PRODUCTS_DIR; }; - ADEDEE5DF1A84C9B611549D32A2FB7A4 /* RSDFDatePickerCollectionViewLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RSDFDatePickerCollectionViewLayout.h; sourceTree = ""; }; - C18089E83632EFB9A0FDF583C157CD13 /* Pods-RSDayFlowExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-RSDayFlowExample.release.xcconfig"; sourceTree = ""; }; - C29D45C0C09588D12E4519DDC0CBF0A7 /* RSDayFlow-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RSDayFlow-dummy.m"; sourceTree = ""; }; - D9C672F72FB0415FE6AC4146BFCE1559 /* libPods-RSDayFlowExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RSDayFlowExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - E60A9D30EEBE31529482609396B73120 /* Pods-RSDayFlowExample-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-RSDayFlowExample-resources.sh"; sourceTree = ""; }; - F7FED994AD05C34CF2A7D102A0E00843 /* RSDFDatePickerCollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RSDFDatePickerCollectionView.m; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 39DAE3ADE5CBABBFAA27F2125DD9AEE1 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - C81B688B50917B02FDC96D3A773280DB /* Foundation.framework in Frameworks */, - 350F22AB5A488F458DED480690105BEC /* QuartzCore.framework in Frameworks */, - DF61B78C2E56205624A5C51F6A2C9A09 /* UIKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B6C5D9EF2795112829D213FC31D868FD /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 4CD05428494F39A6F909CEE34CD609A3 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 0EE33C723891490C88537F1C05AB7544 /* Pods-RSDayFlowExample */ = { - isa = PBXGroup; - children = ( - 174B9007E3888730000A27BEAB61B992 /* Pods-RSDayFlowExample-acknowledgements.markdown */, - 933E3DC6D2DCD938F373779A8E82D066 /* Pods-RSDayFlowExample-acknowledgements.plist */, - 34EC10B5BAAFCE84CBF4B78ED31FBDB9 /* Pods-RSDayFlowExample-dummy.m */, - 42F96C5D7E6105BACD697EF810B7CB4C /* Pods-RSDayFlowExample-frameworks.sh */, - E60A9D30EEBE31529482609396B73120 /* Pods-RSDayFlowExample-resources.sh */, - 74AB502542E97D4518BE1162FB209BF0 /* Pods-RSDayFlowExample.debug.xcconfig */, - C18089E83632EFB9A0FDF583C157CD13 /* Pods-RSDayFlowExample.release.xcconfig */, - ); - name = "Pods-RSDayFlowExample"; - path = "Target Support Files/Pods-RSDayFlowExample"; - sourceTree = ""; - }; - 122DA2E5084A4393C29BE363C764795C /* Frameworks */ = { - isa = PBXGroup; - children = ( - DFDE779C6E5D3445E0CB8CCB8D424449 /* iOS */, - ); - name = Frameworks; - sourceTree = ""; - }; - 300A97E65444981C7F13D4E71C3EAA22 /* Targets Support Files */ = { - isa = PBXGroup; - children = ( - 0EE33C723891490C88537F1C05AB7544 /* Pods-RSDayFlowExample */, - ); - name = "Targets Support Files"; - sourceTree = ""; - }; - 415D28278D2CC06239636DBAC523F2EE /* RSDayFlow */ = { - isa = PBXGroup; - children = ( - 5CB0A4126162D78BA3041381683CD35F /* RSDayFlow */, - BF70E74B0766810A7A528625322C9D42 /* Support Files */, - ); - name = RSDayFlow; - path = ../..; - sourceTree = ""; - }; - 5BDEDA2C567BC07F0818088FC409C65F /* Development Pods */ = { - isa = PBXGroup; - children = ( - 415D28278D2CC06239636DBAC523F2EE /* RSDayFlow */, - ); - name = "Development Pods"; - sourceTree = ""; - }; - 5CB0A4126162D78BA3041381683CD35F /* RSDayFlow */ = { - isa = PBXGroup; - children = ( - 699DBEA842C314C32AFCEE915DE08F1A /* NSCalendar+RSDFAdditions.h */, - 3D18BCBCD82C1A4DE2E5FBD54030213A /* NSCalendar+RSDFAdditions.m */, - A37ED1CBB2AEB1A01A8EC0608D1119D9 /* RSDayFlow.h */, - 88410D7B8E2C56BA432E3820A4975E8C /* RSDFDatePickerCollectionView.h */, - F7FED994AD05C34CF2A7D102A0E00843 /* RSDFDatePickerCollectionView.m */, - ADEDEE5DF1A84C9B611549D32A2FB7A4 /* RSDFDatePickerCollectionViewLayout.h */, - 6D1AB68EFB336F459187FD34CBDC2994 /* RSDFDatePickerCollectionViewLayout.m */, - 1254238F4EC93AB001D209804754936D /* RSDFDatePickerDate.h */, - 3B155A836D12CD01F1FA4B63E304A273 /* RSDFDatePickerDayCell.h */, - A9034D3F73F83E9A7BE6CDF25E1626B0 /* RSDFDatePickerDayCell.m */, - 85ACA0ECA8620CCCC3014139B26CF3BB /* RSDFDatePickerDaysOfWeekView.h */, - A29A83331A8E0F43A5C5C4E0155CDA97 /* RSDFDatePickerDaysOfWeekView.m */, - 4F12252348A766B7BA78EEA151B43970 /* RSDFDatePickerMonthHeader.h */, - 30B3F3F4D4D0E0183D7989BC6BC3BA9D /* RSDFDatePickerMonthHeader.m */, - 0FC28930868AABE2EF7C0AC27AEFDE3A /* RSDFDatePickerView.h */, - A3009083FEA9038B46F957D901B1B38B /* RSDFDatePickerView.m */, - 699596E0C651D799844BBAE61C13D4B9 /* RSDFDatePickerView+Protected.h */, - ); - path = RSDayFlow; - sourceTree = ""; - }; - 7DB346D0F39D3F0E887471402A8071AB = { - isa = PBXGroup; - children = ( - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - 5BDEDA2C567BC07F0818088FC409C65F /* Development Pods */, - 122DA2E5084A4393C29BE363C764795C /* Frameworks */, - E6436DC39E684E0573FFC529EF24509E /* Products */, - 300A97E65444981C7F13D4E71C3EAA22 /* Targets Support Files */, - ); - sourceTree = ""; - }; - BF70E74B0766810A7A528625322C9D42 /* Support Files */ = { - isa = PBXGroup; - children = ( - 3E45DF9B61AA13134A09B2DDFA014D97 /* RSDayFlow.xcconfig */, - C29D45C0C09588D12E4519DDC0CBF0A7 /* RSDayFlow-dummy.m */, - 8996061F4EAB0C4381A443B57472ED09 /* RSDayFlow-prefix.pch */, - ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/RSDayFlow"; - sourceTree = ""; - }; - DFDE779C6E5D3445E0CB8CCB8D424449 /* iOS */ = { - isa = PBXGroup; - children = ( - A817CAE99C81EE68006DC1E60E295C0A /* Foundation.framework */, - 23016F69B2480F44D0BB5526B39192FA /* QuartzCore.framework */, - 091D54A73E1E8BB182C9D7D245AF1C2F /* UIKit.framework */, - ); - name = iOS; - sourceTree = ""; - }; - E6436DC39E684E0573FFC529EF24509E /* Products */ = { - isa = PBXGroup; - children = ( - D9C672F72FB0415FE6AC4146BFCE1559 /* libPods-RSDayFlowExample.a */, - ABBE2AFC97D716EBF9BD6EC4556E3A97 /* libRSDayFlow.a */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - C688A70877B7E92CB29F4486298E68A6 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 8F740068FB2568855E3564BE1A5524ED /* NSCalendar+RSDFAdditions.h in Headers */, - 1A11C9006C762B42EF25C1F4B00566D3 /* RSDayFlow.h in Headers */, - 3C661C203CC2792478D5D7508C6E0D25 /* RSDFDatePickerCollectionView.h in Headers */, - 17DF2AAD25C4D55E9955F61A93CCD2B6 /* RSDFDatePickerCollectionViewLayout.h in Headers */, - A099E047D3D0264306339100984B472B /* RSDFDatePickerDate.h in Headers */, - 2AB29FA4D7672D9B893461F4E724435E /* RSDFDatePickerDayCell.h in Headers */, - B7F426577AB13C979385CD6C10D8B9DC /* RSDFDatePickerDaysOfWeekView.h in Headers */, - 74AF61D33BF1AF4B9247EC3F93F0D582 /* RSDFDatePickerMonthHeader.h in Headers */, - D10D13E0EB2852BB19BF0EFA2744EF99 /* RSDFDatePickerView+Protected.h in Headers */, - 1277E7027543D9ABF24591ADA28F3A2A /* RSDFDatePickerView.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - E2282887B3F6A573DC7BEDF7738924F2 /* Pods-RSDayFlowExample */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2EE0C385836A2D331307503BA1AE81D9 /* Build configuration list for PBXNativeTarget "Pods-RSDayFlowExample" */; - buildPhases = ( - 79BEDAC0D10E8595E8FDB59A6DE5877E /* Sources */, - B6C5D9EF2795112829D213FC31D868FD /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 32E9176C71672326A3037416E7D29E4F /* PBXTargetDependency */, - ); - name = "Pods-RSDayFlowExample"; - productName = "Pods-RSDayFlowExample"; - productReference = D9C672F72FB0415FE6AC4146BFCE1559 /* libPods-RSDayFlowExample.a */; - productType = "com.apple.product-type.library.static"; - }; - F8B04CBEEBA67BBDE90E5F3B473C4812 /* RSDayFlow */ = { - isa = PBXNativeTarget; - buildConfigurationList = E972988FA05716542E27FFFA240E2AB9 /* Build configuration list for PBXNativeTarget "RSDayFlow" */; - buildPhases = ( - 5969A4FF67BAFFE95B7FFE021C5226A8 /* Sources */, - 39DAE3ADE5CBABBFAA27F2125DD9AEE1 /* Frameworks */, - C688A70877B7E92CB29F4486298E68A6 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = RSDayFlow; - productName = RSDayFlow; - productReference = ABBE2AFC97D716EBF9BD6EC4556E3A97 /* libRSDayFlow.a */; - productType = "com.apple.product-type.library.static"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0730; - LastUpgradeCheck = 0700; - }; - buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = E6436DC39E684E0573FFC529EF24509E /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - E2282887B3F6A573DC7BEDF7738924F2 /* Pods-RSDayFlowExample */, - F8B04CBEEBA67BBDE90E5F3B473C4812 /* RSDayFlow */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 5969A4FF67BAFFE95B7FFE021C5226A8 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A221501EDEEA69670F29E74D26F3D864 /* NSCalendar+RSDFAdditions.m in Sources */, - 4A6096DC4DE6BEFDA264A3C025FE553B /* RSDayFlow-dummy.m in Sources */, - 0D5169B9C728521EC3F456FEB3BC102C /* RSDFDatePickerCollectionView.m in Sources */, - 65546698E4918C5ABBF543CB4C61728E /* RSDFDatePickerCollectionViewLayout.m in Sources */, - D53B64161A8CA2A04B3EDE76A3B9FD9C /* RSDFDatePickerDayCell.m in Sources */, - 06C720A3256880184C6B011F6C4F8970 /* RSDFDatePickerDaysOfWeekView.m in Sources */, - F3478DC1433C959ADF6080E533528382 /* RSDFDatePickerMonthHeader.m in Sources */, - 8686C69C2BA117A9E305E23F23B4B752 /* RSDFDatePickerView.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 79BEDAC0D10E8595E8FDB59A6DE5877E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BFB761539A6FE6877EF623C799B7FF46 /* Pods-RSDayFlowExample-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 32E9176C71672326A3037416E7D29E4F /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = RSDayFlow; - target = F8B04CBEEBA67BBDE90E5F3B473C4812 /* RSDayFlow */; - targetProxy = 315F1E02CD038890D2B340E75F74AB88 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 3FA2475660FFC880302AD18E29B2E5FC /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - ONLY_ACTIVE_ARCH = YES; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; - }; - 92725D120D3442131756D2AB9EADA89D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3E45DF9B61AA13134A09B2DDFA014D97 /* RSDayFlow.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/RSDayFlow/RSDayFlow-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - AA1EB36A77525349D454133BB224AC18 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 74AB502542E97D4518BE1162FB209BF0 /* Pods-RSDayFlowExample.debug.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MACH_O_TYPE = staticlib; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - D804D7E22729DBFCDA7E86A29B437263 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3E45DF9B61AA13134A09B2DDFA014D97 /* RSDayFlow.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/RSDayFlow/RSDayFlow-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Release; - }; - E3BB4EDE75849C015C38F3962E0B579B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C18089E83632EFB9A0FDF583C157CD13 /* Pods-RSDayFlowExample.release.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MACH_O_TYPE = staticlib; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Release; - }; - F325026B55060D3B22BEC0BAB5FA7344 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3FA2475660FFC880302AD18E29B2E5FC /* Debug */, - F325026B55060D3B22BEC0BAB5FA7344 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2EE0C385836A2D331307503BA1AE81D9 /* Build configuration list for PBXNativeTarget "Pods-RSDayFlowExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - AA1EB36A77525349D454133BB224AC18 /* Debug */, - E3BB4EDE75849C015C38F3962E0B579B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E972988FA05716542E27FFFA240E2AB9 /* Build configuration list for PBXNativeTarget "RSDayFlow" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 92725D120D3442131756D2AB9EADA89D /* Debug */, - D804D7E22729DBFCDA7E86A29B437263 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; -} diff --git a/Example/Pods/RSDayFlow/LICENSE b/Example/Pods/RSDayFlow/LICENSE deleted file mode 100644 index 79908ba..0000000 --- a/Example/Pods/RSDayFlow/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2013 Evadne Wu, http://radi.ws/ -Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com/ - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/Example/Pods/RSDayFlow/README.md b/Example/Pods/RSDayFlow/README.md deleted file mode 100644 index 9868482..0000000 --- a/Example/Pods/RSDayFlow/README.md +++ /dev/null @@ -1,149 +0,0 @@ -# RSDayFlow [![Build Status](https://travis-ci.org/ruslanskorb/RSDayFlow.svg)](https://travis-ci.org/ruslanskorb/RSDayFlow) - -

- Sample -

- -iOS 7 Calendar with Infinite Scrolling. Only need 4 lines of code to set up. - -> [RSDayFlow](https://github.com/ruslanskorb/RSDayFlow) is a slim fork of [DayFlow](https://github.com/evadne/DayFlow) with updates and extensions: - -> * Visual feedback of the currently selected cell -* Possibility to mark the date -* Design like iOS 7 -* Much more updates - -## Installation - -[CocoaPods](http://cocoapods.org) is the recommended method of installing RSDayFlow. Simply add the following line to your `Podfile`: - -#### Podfile - -```ruby -pod 'RSDayFlow' -``` - -## Basic Usage - -Import the class header. - -``` objective-c -#import "RSDFDatePickerView.h" -``` - -Just create your date picker view and set a delegate / a data source if needed. - -``` objective-c -- (void)viewDidLoad -{ - [super viewDidLoad]; - - RSDFDatePickerView *datePickerView = [[RSDFDatePickerView alloc] initWithFrame:self.view.bounds]; - datePickerView.delegate = self; - datePickerView.dataSource = self; - [self.view addSubview:datePickerView]; -} -``` - -## Delegate (optional) - -`RSDFDatePickerView` provides three delegate methods. The method `datePickerView:shouldHighlightDate:` asks the delegate if the date should be highlighted during tracking. The method `datePickerView:shouldSelectDate:` asks the delegate if the specified date should be selected. The method `datePickerView:didSelectDate:` called when a user click on a specific date. To use them, implement the delegate in your view controller. - -```objective-c -@interface ViewController () -``` - -Then implement the delegate functions. - -```objective-c -// Returns YES if the date should be highlighted or NO if it should not. -- (BOOL)datePickerView:(RSDFDatePickerView *)view shouldHighlightDate:(NSDate *)date -{ - return YES; -} - -// Returns YES if the date should be selected or NO if it should not. -- (BOOL)datePickerView:(RSDFDatePickerView *)view shouldSelectDate:(NSDate *)date -{ - return YES; -} - -// Prints out the selected date. -- (void)datePickerView:(RSDFDatePickerView *)view didSelectDate:(NSDate *)date -{ - NSLog(@"%@", [date description]); -} -``` - -## DataSource (optional) - -`RSDFDatePickerView` provides three data source methods. The method `datePickerView:shouldMarkDate:` asks the data source if the date should be marked. The method `datePickerView:markImageColorForDate:` asks the data source about the color of the default mark image for the specified date. The method `datePickerView:markImageForDate:` asks the data source about the mark image for the specified date. The method `datePickerView:markImageColorForDate:` will be ignored if the method `datePickerView:markImageForDate:` is implemented. To use these methods, implement the data source in your view controller. - -```objective-c -@interface ViewController () -``` - -Then implement the data source functions. - -```objective-c -// Returns YES if the date should be marked or NO if it should not. -- (BOOL)datePickerView:(RSDFDatePickerView *)view shouldMarkDate:(NSDate *)date -{ - // The date is an `NSDate` object without time components. - // So, we need to use dates without time components. - - NSCalendar *calendar = [NSCalendar currentCalendar]; - unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit; - NSDateComponents *todayComponents = [calendar components:unitFlags fromDate:[NSDate date]]; - NSDate *today = [calendar dateFromComponents:todayComponents]; - - return [date isEqual:today]; -} - -// Returns the color of the default mark image for the specified date. -- (UIColor *)datePickerView:(RSDFDatePickerView *)view markImageColorForDate:(NSDate *)date -{ - if (arc4random() % 2 == 0) { - return [UIColor grayColor]; - } else { - return [UIColor greenColor]; - } -} - -// Returns the mark image for the specified date. -- (UIImage *)datePickerView:(RSDFDatePickerView *)view markImageForDate:(NSDate *)date -{ - if (arc4random() % 2 == 0) { - return [UIImage imageNamed:@"img_gray_mark"]; - } else { - return [UIImage imageNamed:@"img_green_mark"]; - } -} -``` - -## Customization - -Every view is customizable to fit your need. -Create a subclass of the desired view and override the default values. - -## Coming Soon - -- If you would like to request a new feature, feel free to raise as an issue. - -## Demo - -Build and run the `RSDayFlowExample` project in Xcode to see `RSDayFlow` in action. -Have fun. Make it faster. Fork and send pull requests. Figure out hooks for customization. - - -## Contact - -Ruslan Skorb - -- http://github.com/ruslanskorb -- http://twitter.com/ruslanskorb -- ruslan.skorb@gmail.com - -## License - -This project is is available under the MIT license. See the LICENSE file for more info. Attribution by linking to the [project page](https://github.com/ruslanskorb/RSDayFlow) is appreciated. diff --git a/Example/Pods/RSDayFlow/RSDayFlow/NSCalendar+RSDFAdditions.h b/Example/Pods/RSDayFlow/RSDayFlow/NSCalendar+RSDFAdditions.h deleted file mode 100644 index 735acc8..0000000 --- a/Example/Pods/RSDayFlow/RSDayFlow/NSCalendar+RSDFAdditions.h +++ /dev/null @@ -1,40 +0,0 @@ -// -// NSCalendar+RSDFAdditions.h -// -// Copyright (c) 2013 Evadne Wu, http://radi.ws/ -// Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface NSCalendar (RSDFAdditions) - -@property (readonly, nonatomic) NSUInteger rsdf_daysInWeek; -@property (readonly, nonatomic) NSUInteger rsdf_saturdayIndex; -@property (readonly, nonatomic) NSUInteger rsdf_sundayIndex; - -- (NSDateFormatter *)df_dateFormatterNamed:(NSString *)name withConstructor:(NSDateFormatter *(^)(void))block; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Example/Pods/RSDayFlow/RSDayFlow/NSCalendar+RSDFAdditions.m b/Example/Pods/RSDayFlow/RSDayFlow/NSCalendar+RSDFAdditions.m deleted file mode 100644 index 8c0b89d..0000000 --- a/Example/Pods/RSDayFlow/RSDayFlow/NSCalendar+RSDFAdditions.m +++ /dev/null @@ -1,62 +0,0 @@ -// -// NSCalendar+RSDFAdditions.m -// -// Copyright (c) 2013 Evadne Wu, http://radi.ws/ -// Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import "NSCalendar+RSDFAdditions.h" - -@implementation NSCalendar (RSDFAdditions) - -- (NSDateFormatter *)df_dateFormatterNamed:(NSString *)name withConstructor:(NSDateFormatter *(^)(void))block -{ - // We can not use objc_setAssociatedObject() because it has no thread safety - // Modeled after http://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html - // Intended for use where there are a myriad of date formatters keyed on a calendar - - NSMutableDictionary *threadDictionary = [[NSThread currentThread] threadDictionary]; - NSDateFormatter *dateFormatter = threadDictionary[name]; - - if (!dateFormatter) { - dateFormatter = block(); - threadDictionary[name] = dateFormatter; - } - - return dateFormatter; -} - -- (NSUInteger)rsdf_daysInWeek -{ - return [self maximumRangeOfUnit:NSCalendarUnitWeekday].length; -} - -- (NSUInteger)rsdf_saturdayIndex -{ - return 7; -} - -- (NSUInteger)rsdf_sundayIndex -{ - return 1; -} - -@end diff --git a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerCollectionView.h b/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerCollectionView.h deleted file mode 100644 index a383575..0000000 --- a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerCollectionView.h +++ /dev/null @@ -1,76 +0,0 @@ -// -// RSDFDatePickerCollectionView.h -// -// Copyright (c) 2013 Evadne Wu, http://radi.ws/ -// Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@class RSDFDatePickerCollectionView; - -/** - The `RSDFDatePickerCollectionViewDelegate` protocol defines the message sent to a collection view delegate when the collection view will layout subviews. - */ -@protocol RSDFDatePickerCollectionViewDelegate - -///--------------------------------- -/// @name Supporting Layout Subviews -///--------------------------------- - -/** - Tells the delegate that the collection view will layout subviews. - - @param pickerCollectionView The collection view which will layout subviews. - */ -- (void)pickerCollectionViewWillLayoutSubviews:(RSDFDatePickerCollectionView *)pickerCollectionView; - -@end - - -/** - The `RSDFDatePickerCollectionView` is a collection view which used to display days and months in the date picker view. - */ -@interface RSDFDatePickerCollectionView : UICollectionView - -/** - The receiver's delegate. - - @discussion A `RSDFDatePickerCollectionView` delegate uses to support layout subviews in the date picker view. - */ -@property (nonatomic, weak, nullable) id delegate; - -///--------------------------------------- -/// @name Accessing Attributes of the View -///--------------------------------------- - -/** - The view’s background color. Default value is `[UIColor whiteColor]`. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIColor *)selfBackgroundColor; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerCollectionView.m b/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerCollectionView.m deleted file mode 100644 index 2957c5a..0000000 --- a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerCollectionView.m +++ /dev/null @@ -1,86 +0,0 @@ -// -// RSDFDatePickerCollectionView.m -// -// Copyright (c) 2013 Evadne Wu, http://radi.ws/ -// Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import "RSDFDatePickerCollectionView.h" -#import "RSDFDatePickerCollectionViewLayout.h" - -@implementation RSDFDatePickerCollectionView - -@dynamic delegate; - -#pragma mark - Lifecycle - -- (instancetype)initWithFrame:(CGRect)frame -{ - self = [super initWithFrame:frame]; - if (self) { - [self commonInitializer]; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super initWithCoder:aDecoder]; - if (self) { - [self commonInitializer]; - } - return self; -} - -- (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout -{ - self = [super initWithFrame:frame collectionViewLayout:layout]; - if (self) { - [self commonInitializer]; - } - return self; -} - -- (void)commonInitializer -{ - self.backgroundColor = [self selfBackgroundColor]; - self.showsVerticalScrollIndicator = NO; - self.showsHorizontalScrollIndicator = NO; - self.scrollsToTop = NO; - self.delaysContentTouches = NO; -} - -- (void)layoutSubviews -{ - if ([self.delegate respondsToSelector:@selector(pickerCollectionViewWillLayoutSubviews:)]) { - [self.delegate pickerCollectionViewWillLayoutSubviews:self]; - } - [super layoutSubviews]; -} - -#pragma mark - Atrributes of the View - -- (UIColor *)selfBackgroundColor -{ - return [UIColor whiteColor]; -} - -@end diff --git a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerCollectionViewLayout.h b/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerCollectionViewLayout.h deleted file mode 100644 index 6e95db8..0000000 --- a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerCollectionViewLayout.h +++ /dev/null @@ -1,84 +0,0 @@ -// -// RSDFDatePickerCollectionViewLayout.h -// -// Copyright (c) 2013 Evadne Wu, http://radi.ws/ -// Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** - Types of supported directions of the layout of the collection view. - */ -typedef NS_ENUM(NSUInteger, RSDFDatePickerCollectionViewLayoutDirection) { - RSDFDatePickerCollectionViewLayoutDirectionLeftToRight, - RSDFDatePickerCollectionViewLayoutDirectionRightToLeft -}; - -/** - The `RSDFDatePickerCollectionViewLayout` is a layout of the collection view which used the date picker. - */ -@interface RSDFDatePickerCollectionViewLayout : UICollectionViewFlowLayout - -/** - Designated initializer. Initializes and returns a newly allocated layout object with the specified direction. - - @param frame The direction of the layout. - */ -- (instancetype)initWithDirection:(RSDFDatePickerCollectionViewLayoutDirection)direction; - -///----------------------------------------- -/// @name Accessing Attributes of the Layout -///----------------------------------------- - -/** - The default size to use for section headers. Default height is `64.0f`. Default width is calculated based on the width of the collection view. - - @discussion Can be overridden in subclasses for customization. - */ -- (CGSize)selfHeaderReferenceSize; - -/** - The default size to use for cells. Default height is `70.0f`. Default width is calculated based on the width of the collection view. - - @discussion Can be overridden in subclasses for customization. - */ -- (CGSize)selfItemSize; - -/** - The minimum spacing to use between lines of items in the grid. Default value is `2.0f`. - - @discussion Can be overridden in subclasses for customization. - */ -- (CGFloat)selfMinimumLineSpacing; - -/** - The minimum spacing to use between items in the same row. Default value is `2.0f`. - - @discussion Can be overridden in subclasses for customization. - */ -- (CGFloat)selfMinimumInteritemSpacing; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerCollectionViewLayout.m b/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerCollectionViewLayout.m deleted file mode 100644 index 8c8e209..0000000 --- a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerCollectionViewLayout.m +++ /dev/null @@ -1,121 +0,0 @@ -// -// RSDFDatePickerCollectionViewLayout.m -// -// Copyright (c) 2013 Evadne Wu, http://radi.ws/ -// Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import "RSDFDatePickerCollectionViewLayout.h" - -@interface RSDFDatePickerCollectionViewLayout () - -@property (assign, nonatomic) RSDFDatePickerCollectionViewLayoutDirection direction; - -@end - -@implementation RSDFDatePickerCollectionViewLayout - -#pragma mark - Lifecycle - -- (instancetype)init -{ - self = [super init]; - if (self) { - [self commonInitializer]; - _direction = RSDFDatePickerCollectionViewLayoutDirectionLeftToRight; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super initWithCoder:aDecoder]; - if (self) { - [self commonInitializer]; - _direction = RSDFDatePickerCollectionViewLayoutDirectionLeftToRight; - } - return self; -} - -- (instancetype)initWithDirection:(RSDFDatePickerCollectionViewLayoutDirection)direction -{ - self = [super init]; - if (self) { - [self commonInitializer]; - _direction = direction; - } - return self; -} - -- (void)commonInitializer -{ - self.minimumLineSpacing = [self selfMinimumLineSpacing]; - self.minimumInteritemSpacing = [self selfMinimumInteritemSpacing]; -} - -#pragma mark - Atrributes of the Layout - -- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect -{ - NSArray *supersAttributes = [super layoutAttributesForElementsInRect:rect]; - - if (self.direction == RSDFDatePickerCollectionViewLayoutDirectionRightToLeft) { - for (UICollectionViewLayoutAttributes *attributes in supersAttributes) { - CGRect frame = attributes.frame; - frame.origin.x = CGRectGetWidth(rect) - CGRectGetWidth(attributes.frame) - CGRectGetMinX(attributes.frame); - attributes.frame = frame; - } - } - - return supersAttributes; -} - -- (CGSize)selfHeaderReferenceSize -{ - CGFloat selfHeaderReferenceWidth = CGRectGetWidth(self.collectionView.frame); - CGFloat selfHeaderReferenceHeight = 64.0f; - - return (CGSize){ selfHeaderReferenceWidth, selfHeaderReferenceHeight }; -} - -- (CGSize)selfItemSize -{ - NSUInteger numberOfItemsInTheSameRow = 7; - CGFloat totalInteritemSpacing = [self minimumInteritemSpacing] * (numberOfItemsInTheSameRow - 1); - - CGFloat selfItemWidth = (CGRectGetWidth(self.collectionView.frame) - totalInteritemSpacing) / numberOfItemsInTheSameRow; - selfItemWidth = floor(selfItemWidth * 1000) / 1000; - CGFloat selfItemHeight = 70.0f; - - return (CGSize){ selfItemWidth, selfItemHeight }; -} - -- (CGFloat)selfMinimumLineSpacing -{ - return 2.0f; -} - -- (CGFloat)selfMinimumInteritemSpacing -{ - return 2.0f; -} - -@end diff --git a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDate.h b/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDate.h deleted file mode 100644 index 6a93e18..0000000 --- a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDate.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// RSDFConstants.h -// RSDayFlowExample -// -// Created by Ruslan Skorb on 6/27/15. -// Copyright (c) 2015 Ruslan Skorb. All rights reserved. -// - -#ifndef RSDayFlow_RSDFDatePickerDate_h -#define RSDayFlow_RSDFDatePickerDate_h - -typedef struct RSDFDatePickerDate RSDFDatePickerDate; - -struct RSDFDatePickerDate { - NSUInteger year; - NSUInteger month; - NSUInteger day; -}; - -#endif diff --git a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDayCell.h b/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDayCell.h deleted file mode 100644 index 3f356b7..0000000 --- a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDayCell.h +++ /dev/null @@ -1,269 +0,0 @@ -// -// RSDFDatePickerDayCell.h -// -// Copyright (c) 2013 Evadne Wu, http://radi.ws/ -// Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -/** - The `RSDFDatePickerDayCell` is a cell which used to display a day in the date picker view. - */ -@interface RSDFDatePickerDayCell : UICollectionViewCell - -///------------------------- -/// @name Accessing Subviews -///------------------------- - -/** - The label showing the cell's date. - */ -@property (nonatomic, readonly, strong) UILabel *dateLabel; - -///-------------------------------------- -/// @name Accessing Attributes of the Day -///-------------------------------------- - -/** - A date which corresponds to the current cell. - */ -@property (nonatomic, readwrite, assign) RSDFDatePickerDate date; - -/** - A Boolean value that determines whether the cell's day that's not this month. - - @discussion Cells with these days do not display the today image, the overlay image, the marks and the divider image. -*/ -@property (nonatomic, getter = isNotThisMonth) BOOL notThisMonth; - -/** - A Boolean value that determines whether the cell's day is day off. - */ -@property (nonatomic, getter = isDayOff) BOOL dayOff; - -/** - A Boolean value that determines whether the cell represents the current day. - */ -@property (nonatomic, getter = isToday) BOOL today; - -/** - A Boolean value that determines whether the cell represents a past day. - */ -@property (nonatomic, getter = isPastDate) BOOL pastDate; - -/** - A Boolean value that determines whether the cell have a mark. - */ -@property (nonatomic, getter = isMarked) BOOL marked; - -/** - A Boolean value that determines whether the cell is out of range or not (startDate, endDate) - */ -@property (nonatomic, getter = isOutOfRange) BOOL outOfRange; - -/** - The color of the default mark image for the cell of the day. Default value is [UIColor colorWithRed:184/255.0f green:184/255.0f blue:184/255.0f alpha:1.0f]. - - @discussion Will be used to create the mark image if `markImage` is equal to `nil`. - */ -@property (nonatomic, copy) UIColor *markImageColor; - -/** - The mark image for the cell of the day. The default mark image is a small round mark. - */ -@property (nonatomic, strong, nullable) UIImage *markImage; - -///--------------------------------------- -/// @name Accessing Attributes of the View -///--------------------------------------- - -/** - The view’s background color. Default value is `[UIColor clearColor]`. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIColor *)selfBackgroundColor; - -///--------------------------------------- -/// @name Accessing Attributes of Subviews -///--------------------------------------- - -/** - The font of the text which displayed by the label of the day. Default value is [UIFont fontWithName:@"HelveticaNeue" size:18.0f]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIFont *)dayLabelFont; - -/** - The text color for the label of the day. Default value is [UIColor blackColor]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIColor *)dayLabelTextColor; - -/** - The text color for the label of the day off. Default value is [UIColor colorWithRed:184/255.0f green:184/255.0f blue:184/255.0f alpha:1.0f]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIColor *)dayOffLabelTextColor; - -/** - The text color for the label of the disabled day (not in range of start/end date set on calendar). Default value is [UIColor colorWithRed:184/255.0f green:184/255.0f blue:184/255.0f alpha:1.0f]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIColor *)outOfRangeDayLabelTextColor; - -/** - The font for the label of the disabled day (not in range of start/end date set on calendar). Default value is [UIFont fontWithName:@"HelveticaNeue" size:18.0f]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIFont *)outOfRangeDayLabelFont; - -/** - The text color for the label of the day that's not this month. Default value is [UIColor clearColor]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIColor *)notThisMonthLabelTextColor; - -/** - The text color for the label of the past day when it is selected. Default value is [UIColor blackColor]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIColor *)pastDayLabelTextColor; - -/** - The text color for the label of the past day off when it is selected. Default value is [UIColor colorWithRed:184/255.0f green:184/255.0f blue:184/255.0f alpha:1.0f]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIColor *)pastDayOffLabelTextColor; - -/** - The font for the label of the current day. Default value is [UIFont fontWithName:@"HelveticaNeue" size:18.0f]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIFont *)todayLabelFont; - -/** - The text color for the label of the current day. Default value is [UIColor colorWithRed:0/255.0f green:121/255.0f blue:255/255.0f alpha:1.0f]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIColor *)todayLabelTextColor; - -/** - The font for the label of the current day when it is selected. Default value is [UIFont fontWithName:@"HelveticaNeue-Bold" size:19.0f]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIFont *)selectedTodayLabelFont; - -/** - The text color for the label of the current day when it is selected. Default value is [UIColor whiteColor]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIColor *)selectedTodayLabelTextColor; - -/** - The color of the background image for the cell of the current day. Default value is [UIColor colorWithRed:0/255.0f green:121/255.0f blue:255/255.0f alpha:1.0f]. - - @discussion Can be overridden in subclasses for customization. Ignored if `customSelectedTodayImage` is not equal to `nil`. - */ -- (UIColor *)selectedTodayImageColor; - -/** - The custom background image for the cell of the current day. Default value is `nil`. - - @discussion Can be overridden in subclasses for customization. - */ -- (nullable UIImage *)customSelectedTodayImage; - -/** - The font for the label of the day when it is selected. Default value is [UIFont fontWithName:@"HelveticaNeue-Bold" size:19.0f]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIFont *)selectedDayLabelFont; - -/** - The text color for the label of the day when it is selected. Default value is [UIColor whiteColor]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIColor *)selectedDayLabelTextColor; - -/** - The color of the background image for the cell of the day when it is selected. Default value is [UIColor colorWithRed:255/255.0f green:59/255.0f blue:48/255.0f alpha:1.0f]. - - @discussion Can be overridden in subclasses for customization. Ignored if `customSelectedDayImage` is not equal to `nil`. - */ -- (UIColor *)selectedDayImageColor; - -/** - The custom background image for the cell of the day when it is selected. Default value is `nil`. - - @discussion Can be overridden in subclasses for customization. - */ -- (nullable UIImage *)customSelectedDayImage; - -/** - The color of the overlay image for the cell of the day. Default value is [UIColor colorWithRed:184/255.0f green:184/255.0f blue:184/255.0f alpha:1.0f]. - - @discussion Can be overridden in subclasses for customization. Ignored if `customOverlayImage` is not equal to `nil`. - */ -- (UIColor *)overlayImageColor; - -/** - The custom overlay image for the cell of the current day. Default value is `nil`. - - @discussion Can be overridden in subclasses for customization. - */ -- (nullable UIImage *)customOverlayImage; - -/** - The color of the divider image for the cell of the day. Default value is [UIColor colorWithRed:200/255.0f green:200/255.0f blue:200/255.0f alpha:1.0f]. - - @discussion Can be overridden in subclasses for customization. Ignored if `customDividerImage` is not equal to `nil`. - */ -- (UIColor *)dividerImageColor; - -/** - The custom divider image for the cell of the day. Default value is `nil`. - - @discussion Can be overridden in subclasses for customization. - */ -- (nullable UIImage *)customDividerImage; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDayCell.m b/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDayCell.m deleted file mode 100644 index c7daa56..0000000 --- a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDayCell.m +++ /dev/null @@ -1,492 +0,0 @@ -// -// RSDFDatePickerDayCell.m -// -// Copyright (c) 2013 Evadne Wu, http://radi.ws/ -// Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import "RSDFDatePickerDayCell.h" - -CGFloat roundOnBase(CGFloat x, CGFloat base) { - return round(x * base) / base; -} - -@interface RSDFDatePickerDayCell () - -+ (NSCache *)imageCache; -+ (id)fetchObjectForKey:(id)key withCreator:(id(^)(void))block; - -@property (nonatomic, readonly, strong) UIImageView *selectedDayImageView; -@property (nonatomic, readonly, strong) UIImageView *overlayImageView; -@property (nonatomic, readonly, strong) UIImageView *markImageView; -@property (nonatomic, readonly, strong) UIImageView *dividerImageView; - -@end - -@implementation RSDFDatePickerDayCell - -@synthesize dateLabel = _dateLabel; -@synthesize selectedDayImageView = _selectedDayImageView; -@synthesize overlayImageView = _overlayImageView; -@synthesize markImage = _markImage; -@synthesize markImageColor = _markImageColor; -@synthesize markImageView = _markImageView; -@synthesize dividerImageView = _dividerImageView; - -#pragma mark - Lifecycle - -- (instancetype)initWithFrame:(CGRect)frame -{ - self = [super initWithFrame:frame]; - if (self) { - [self commonInitializer]; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super initWithCoder:aDecoder]; - if (self) { - [self commonInitializer]; - } - return self; -} - -- (void)commonInitializer -{ - self.backgroundColor = [self selfBackgroundColor]; - - [self addSubview:self.selectedDayImageView]; - [self addSubview:self.overlayImageView]; - [self addSubview:self.markImageView]; - [self addSubview:self.dividerImageView]; - [self addSubview:self.dateLabel]; - - [self updateSubviews]; -} - -- (void)layoutSubviews -{ - [super layoutSubviews]; - - self.dateLabel.frame = [self selectedImageViewFrame]; - self.selectedDayImageView.frame = [self selectedImageViewFrame]; - self.overlayImageView.frame = [self selectedImageViewFrame]; - self.markImageView.frame = [self markImageViewFrame]; - self.dividerImageView.frame = [self dividerImageViewFrame]; - self.dividerImageView.image = [self dividerImage]; -} - -- (void)drawRect:(CGRect)rect -{ - [self updateSubviews]; -} - -#pragma mark - Custom Accessors - -- (UILabel *)dateLabel -{ - if (!_dateLabel) { - _dateLabel = [[UILabel alloc] initWithFrame:[self selectedImageViewFrame]]; - _dateLabel.backgroundColor = [UIColor clearColor]; - _dateLabel.textAlignment = NSTextAlignmentCenter; - } - return _dateLabel; -} - -- (UIImageView *)dividerImageView -{ - if (!_dividerImageView) { - _dividerImageView = [[UIImageView alloc] initWithFrame:[self dividerImageViewFrame]]; - _dividerImageView.contentMode = UIViewContentModeCenter; - _dividerImageView.image = [self dividerImage]; - } - return _dividerImageView; -} - -- (CGRect)dividerImageViewFrame -{ - return CGRectMake(0.0f, 0.0f, CGRectGetWidth(self.frame) + 3.0f, roundOnBase(0.5f, [UIScreen mainScreen].scale)); -} - -- (CGRect)markImageViewFrame -{ - return CGRectMake(roundOnBase(CGRectGetWidth(self.frame) / 2 - 4.5f, [UIScreen mainScreen].scale), roundOnBase(45.5f, [UIScreen mainScreen].scale), 9.0f, 9.0f); -} - -- (UIImage *)markImage -{ - if (!_markImage) { - NSString *markImageKey = [NSString stringWithFormat:@"img_mark_%@", [self.markImageColor description]]; - _markImage = [self ellipseImageWithKey:markImageKey frame:self.markImageView.frame color:self.markImageColor]; - } - return _markImage; -} - -- (UIColor *)markImageColor -{ - if (!_markImageColor) { - _markImageColor = [UIColor colorWithRed:184/255.0f green:184/255.0f blue:184/255.0f alpha:1.0f]; - } - return _markImageColor; -} - -- (UIImageView *)markImageView -{ - if (!_markImageView) { - _markImageView = [[UIImageView alloc] initWithFrame:[self markImageViewFrame]]; - _markImageView.backgroundColor = [UIColor clearColor]; - _markImageView.contentMode = UIViewContentModeCenter; - _markImageView.image = self.markImage; - } - return _markImageView; -} - -- (UIImageView *)overlayImageView -{ - if (!_overlayImageView) { - _overlayImageView = [[UIImageView alloc] initWithFrame:[self selectedImageViewFrame]]; - _overlayImageView.backgroundColor = [UIColor clearColor]; - _overlayImageView.opaque = NO; - _overlayImageView.alpha = 0.5f; - _overlayImageView.contentMode = UIViewContentModeCenter; - _overlayImageView.image = [self overlayImage]; - } - return _overlayImageView; -} - -- (UIImageView *)selectedDayImageView -{ - if (!_selectedDayImageView) { - _selectedDayImageView = [[UIImageView alloc] initWithFrame:[self selectedImageViewFrame]]; - _selectedDayImageView.backgroundColor = [UIColor clearColor]; - _selectedDayImageView.contentMode = UIViewContentModeCenter; - _selectedDayImageView.image = [self selectedDayImage]; - } - return _selectedDayImageView; -} - -- (CGRect)selectedImageViewFrame -{ - return CGRectMake(roundOnBase(CGRectGetWidth(self.frame) / 2 - 17.5f, [UIScreen mainScreen].scale), roundOnBase(5.5, [UIScreen mainScreen].scale), 35.0f, 35.0f); -} - -- (void)setMarkImage:(UIImage *)markImage -{ - if (![_markImage isEqual:markImage]) { - _markImage = markImage; - - [self setNeedsDisplay]; - } -} - -- (void)setMarkImageColor:(UIColor *)markImageColor -{ - if (![_markImageColor isEqual:markImageColor]) { - _markImageColor = markImageColor; - _markImage = nil; - - [self setNeedsDisplay]; - } -} - -#pragma mark - Private - -- (void)updateSubviews -{ - self.selectedDayImageView.hidden = !self.isSelected || self.isNotThisMonth || self.isOutOfRange; - self.overlayImageView.hidden = !self.isHighlighted || self.isNotThisMonth || self.isOutOfRange; - self.markImageView.hidden = !self.isMarked || self.isNotThisMonth || self.isOutOfRange; - self.dividerImageView.hidden = self.isNotThisMonth; - - if (self.isNotThisMonth) { - self.dateLabel.textColor = [self notThisMonthLabelTextColor]; - self.dateLabel.font = [self dayLabelFont]; - } else { - if (self.isOutOfRange) { - self.dateLabel.textColor = [self outOfRangeDayLabelTextColor]; - self.dateLabel.font = [self outOfRangeDayLabelFont]; - } else { - if (!self.isSelected) { - if (!self.isToday) { - self.dateLabel.font = [self dayLabelFont]; - if (!self.dayOff) { - if (self.isPastDate) { - self.dateLabel.textColor = [self pastDayLabelTextColor]; - } else { - self.dateLabel.textColor = [self dayLabelTextColor]; - } - } else { - if (self.isPastDate) { - self.dateLabel.textColor = [self pastDayOffLabelTextColor]; - } else { - self.dateLabel.textColor = [self dayOffLabelTextColor]; - } - } - } else { - self.dateLabel.font = [self todayLabelFont]; - self.dateLabel.textColor = [self todayLabelTextColor]; - } - - } else { - if (!self.isToday) { - self.dateLabel.font = [self selectedDayLabelFont]; - self.dateLabel.textColor = [self selectedDayLabelTextColor]; - self.selectedDayImageView.image = [self selectedDayImage]; - } else { - self.dateLabel.font = [self selectedTodayLabelFont]; - self.dateLabel.textColor = [self selectedTodayLabelTextColor]; - self.selectedDayImageView.image = [self selectedTodayImage]; - } - } - - if (self.marked) { - self.markImageView.image = self.markImage; - } else { - self.markImageView.image = nil; - } - } - } - -} - -+ (NSCache *)imageCache -{ - static NSCache *cache; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - cache = [NSCache new]; - }); - return cache; -} - -+ (id)fetchObjectForKey:(id)key withCreator:(id(^)(void))block -{ - id answer = [[self imageCache] objectForKey:key]; - if (!answer) { - answer = block(); - [[self imageCache] setObject:answer forKey:key]; - } - return answer; -} - -- (UIImage *)ellipseImageWithKey:(NSString *)key frame:(CGRect)frame color:(UIColor *)color -{ - UIImage *ellipseImage = [[self class] fetchObjectForKey:key withCreator:^id{ - UIGraphicsBeginImageContextWithOptions(frame.size, NO, self.window.screen.scale); - CGContextRef context = UIGraphicsGetCurrentContext(); - - CGRect rect = frame; - rect.origin = CGPointZero; - - CGContextSetFillColorWithColor(context, color.CGColor); - CGContextFillEllipseInRect(context, rect); - - UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - - return image; - }]; - return ellipseImage; -} - -- (UIImage *)rectImageWithKey:(NSString *)key frame:(CGRect)frame color:(UIColor *)color -{ - UIImage *rectImage = [[self class] fetchObjectForKey:key withCreator:^id{ - UIGraphicsBeginImageContextWithOptions(frame.size, NO, self.window.screen.scale); - CGContextRef context = UIGraphicsGetCurrentContext(); - - CGContextSetFillColorWithColor(context, color.CGColor); - CGContextFillRect(context, frame); - - UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - - return image; - }]; - return rectImage; -} - -#pragma mark - Atrributes of the View - -- (UIColor *)selfBackgroundColor -{ - return [UIColor clearColor]; -} - -#pragma mark - Attributes of Subviews - -- (UIFont *)dayLabelFont -{ - return [UIFont fontWithName:@"HelveticaNeue" size:18.0f]; -} - -- (UIColor *)dayLabelTextColor -{ - return [UIColor blackColor]; -} - -- (UIColor *)dayOffLabelTextColor -{ - return [UIColor colorWithRed:184/255.0f green:184/255.0f blue:184/255.0f alpha:1.0f]; -} - -- (UIColor *)outOfRangeDayLabelTextColor -{ - return [UIColor colorWithRed:184/255.0f green:184/255.0f blue:184/255.0f alpha:1.0f]; -} - -- (UIFont *)outOfRangeDayLabelFont -{ - return [UIFont fontWithName:@"HelveticaNeue" size:18.0f]; -} - -- (UIColor *)notThisMonthLabelTextColor -{ - return [UIColor clearColor]; -} - -- (UIColor *)pastDayLabelTextColor -{ - return [self dayLabelTextColor]; -} - -- (UIColor *)pastDayOffLabelTextColor -{ - return [self dayOffLabelTextColor]; -} - -- (UIFont *)todayLabelFont -{ - return [UIFont fontWithName:@"HelveticaNeue" size:18.0f]; -} - -- (UIColor *)todayLabelTextColor -{ - return [UIColor colorWithRed:0/255.0f green:121/255.0f blue:255/255.0f alpha:1.0f]; -} - -- (UIFont *)selectedTodayLabelFont -{ - return [UIFont fontWithName:@"HelveticaNeue-Bold" size:19.0f]; -} - -- (UIColor *)selectedTodayLabelTextColor -{ - return [UIColor whiteColor]; -} - -- (UIColor *)selectedTodayImageColor -{ - return [UIColor colorWithRed:0/255.0f green:121/255.0f blue:255/255.0f alpha:1.0f]; -} - -- (UIImage *)customSelectedTodayImage -{ - return nil; -} - -- (UIImage *)selectedTodayImage -{ - UIImage *selectedTodayImage = [self customSelectedTodayImage]; - if (!selectedTodayImage) { - UIColor *selectedTodayImageColor = [self selectedTodayImageColor]; - NSString *selectedTodayImageKey = [NSString stringWithFormat:@"img_selected_today_%@", [selectedTodayImageColor description]]; - selectedTodayImage = [self ellipseImageWithKey:selectedTodayImageKey frame:self.selectedDayImageView.frame color:selectedTodayImageColor]; - } - return selectedTodayImage; -} - -- (UIFont *)selectedDayLabelFont -{ - return [UIFont fontWithName:@"HelveticaNeue-Bold" size:19.0f]; -} - -- (UIColor *)selectedDayLabelTextColor -{ - return [UIColor whiteColor]; -} - -- (UIColor *)selectedDayImageColor -{ - return [UIColor colorWithRed:255/255.0f green:59/255.0f blue:48/255.0f alpha:1.0f]; -} - -- (UIImage *)customSelectedDayImage -{ - return nil; -} - -- (UIImage *)selectedDayImage -{ - UIImage *selectedDayImage = [self customSelectedDayImage]; - if (!selectedDayImage) { - UIColor *selectedDayImageColor = [self selectedDayImageColor]; - NSString *selectedDayImageKey = [NSString stringWithFormat:@"img_selected_day_%@", [selectedDayImageColor description]]; - selectedDayImage = [self ellipseImageWithKey:selectedDayImageKey frame:self.selectedDayImageView.frame color:selectedDayImageColor]; - } - return selectedDayImage; -} - -- (UIColor *)overlayImageColor -{ - return [UIColor colorWithRed:184/255.0f green:184/255.0f blue:184/255.0f alpha:1.0f]; -} - -- (UIImage *)customOverlayImage -{ - return nil; -} - -- (UIImage *)overlayImage -{ - UIImage *overlayImage = [self customOverlayImage]; - if (!overlayImage) { - UIColor *overlayImageColor = [self overlayImageColor]; - NSString *overlayImageKey = [NSString stringWithFormat:@"img_overlay_%@", [overlayImageColor description]]; - overlayImage = [self ellipseImageWithKey:overlayImageKey frame:self.overlayImageView.frame color:overlayImageColor]; - } - return overlayImage; -} - -- (UIColor *)dividerImageColor -{ - return [UIColor colorWithRed:200/255.0f green:200/255.0f blue:200/255.0f alpha:1.0f]; -} - -- (UIImage *)customDividerImage -{ - return nil; -} - -- (UIImage *)dividerImage -{ - UIImage *dividerImage = [self customDividerImage]; - if (!dividerImage) { - UIColor *dividerImageColor = [self dividerImageColor]; - NSString *dividerImageKey = [NSString stringWithFormat:@"img_divider_%@_%g", [dividerImageColor description], CGRectGetWidth(self.dividerImageView.frame)]; - dividerImage = [self rectImageWithKey:dividerImageKey frame:self.dividerImageView.frame color:dividerImageColor]; - } - return dividerImage; -} - -@end diff --git a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDaysOfWeekView.h b/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDaysOfWeekView.h deleted file mode 100644 index 2f46e78..0000000 --- a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDaysOfWeekView.h +++ /dev/null @@ -1,147 +0,0 @@ -// -// RSDFDatePickerDaysOfWeekView.h -// -// Copyright (c) 2013 Evadne Wu, http://radi.ws/ -// Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -typedef NS_ENUM (NSUInteger, RSDFDaysOfWeekDisplayStyle) { - /// Short Display style: M T W T F S S - RSDFDaysOfWeekDisplayStyleShort, - /// Medium Display Style: Mon Tue Wed Thu Fri Sat Sun - RSDFDaysOfWeekDisplayStyleMedium, - /// Long Display Style: Monday Tuesday Wednesday Thursday Friday Saturday Sunday - RSDFDaysOfWeekDisplayStyleLong, - /// Automatically determines which Style to use (based on view's frame) - RSDFDaysOfWeekDisplayStyleAuto -}; - -/** - The `RSDFDatePickerDaysOfWeekView` is a view with labels for each day of the week. - */ -@interface RSDFDatePickerDaysOfWeekView : UIView - -/** - Designated initializer. Initializes and returns a newly allocated view object with the specified frame rectangle and the specified calendar. - - @param frame The frame rectangle for the view, measured in points. - @param calendar The calendar for days of the week. - */ -- (instancetype)initWithFrame:(CGRect)frame calendar:(nullable NSCalendar *)calendar; - -///--------------------------------------- -/// @name Accessing Attributes of the View -///--------------------------------------- - -/** - The view’s background color. Default value is `[UIColor colorWithRed:248.0/255 green:248.0/255 blue:248.0/255 alpha:1.0]`. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIColor *)selfBackgroundColor; - -///----------------------------------------- -/// @name Accessing Attributes of the Layout -///----------------------------------------- - -/** - The size to use for labels of weekdays. Default size is calculated based on the size of the view. - - @discussion Can be overridden in subclasses for customization. - */ -- (CGSize)selfItemSize; - -/** - The insets to use for labels of weekday. Default value is `UIEdgeInsetsMake(0.0, 16.0, 0.0, 16.0)`. - - @discussion Can be overriden in sublclasses for customization. - */ -- (UIEdgeInsets)selfItemInsets; - -/** - The spacing to use between labels. Default value is `2.0f`. - - @discussion Can be overridden in subclasses for customization. - */ -- (CGFloat)selfInteritemSpacing; - -///-------------------- -/// @name Display Style -///-------------------- - -/** - The Display Style to use. Default value is `RSDFDaysOfWeekDisplayStyleAuto`. - - @discussion Can be overriden in subclasses for customization. - */ -- (RSDFDaysOfWeekDisplayStyle)displayStyle; - -///--------------------------------------- -/// @name Accessing Attributes of Subviews -///--------------------------------------- - -/** - The font for the label of the weekday. Default value depends on the interface idiom and the interface orientation. - - `UIUserInterfaceIdiomPhone`: - - `UIInterfaceOrientationPortrait` or `UIInterfaceOrientationPortraitUpsideDown`: `[UIFont fontWithName:@"HelveticaNeue-Light" size:10.0]` - - Other: `[UIFont fontWithName:@"HelveticaNeue-Light" size:12.0]` - Other: - - Any: `[UIFont fontWithName:@"HelveticaNeue-Light" size:16.0]` - - @discussion Can be overridden in subclasses for customization. - */ -- (UIFont *)dayOfWeekLabelFont; - -/** - The font for the label of the day off of the week. Default value depends on the interface idiom and the interface orientation. - - `UIUserInterfaceIdiomPhone`: - - `UIInterfaceOrientationPortrait` or `UIInterfaceOrientationPortraitUpsideDown`: `[UIFont fontWithName:@"HelveticaNeue-Light" size:10.0]` - - Other: `[UIFont fontWithName:@"HelveticaNeue-Light" size:12.0]` - Other: - - Any: `[UIFont fontWithName:@"HelveticaNeue-Light" size:16.0]` - - @discussion Can be overridden in subclasses for customization. - */ -- (UIFont *)dayOffOfWeekLabelFont; - -/** - The text color for the label of the weekday. Default value is [UIColor blackColor]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIColor *)dayOfWeekLabelTextColor; - -/** - The text color for the label of the day off of the week. Default value is [UIColor colorWithRed:150.0/255 green:150.0/255 blue:150.0/255 alpha:1.0]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIColor *)dayOffOfWeekLabelTextColor; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDaysOfWeekView.m b/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDaysOfWeekView.m deleted file mode 100644 index b2abb24..0000000 --- a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerDaysOfWeekView.m +++ /dev/null @@ -1,352 +0,0 @@ -// -// RSDFDatePickerDaysOfWeekView.m -// -// Copyright (c) 2013 Evadne Wu, http://radi.ws/ -// Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import "RSDFDatePickerDaysOfWeekView.h" -#import "NSCalendar+RSDFAdditions.h" - -@interface RSDFDatePickerDaysOfWeekView () - -@property (copy, nonatomic) NSCalendar *calendar; -@property (copy, nonatomic) NSArray *weekdayLabels; -@property (copy, nonatomic) NSArray *veryShortStandaloneWeekdaySymbols; -@property (copy, nonatomic) NSArray *shortStandaloneWeekdaySymbols; -@property (copy, nonatomic) NSArray *standaloneWeekdaySymbols; -@property (copy, nonatomic) NSArray *lastSymbolsUsed; -@property (assign, nonatomic) NSUInteger daysInWeek; -@property (assign, nonatomic) NSUInteger originalIndexOfFirstWeekdaySymbol; -@property (assign, nonatomic) NSUInteger originalIndexOfSaturdaySymbol; -@property (assign, nonatomic) NSUInteger originalIndexOfSundaySymbol; - -@end - -@implementation RSDFDatePickerDaysOfWeekView - -#pragma mark - Lifecycle - -- (instancetype)initWithFrame:(CGRect)frame -{ - self = [super initWithFrame:frame]; - if (self) { - [self commonInitializer]; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super initWithCoder:aDecoder]; - if (self) { - [self commonInitializer]; - } - return self; -} - -- (instancetype)initWithFrame:(CGRect)frame calendar:(NSCalendar *)calendar -{ - self = [super initWithFrame:frame]; - if (self) { - _calendar = calendar; - [self commonInitializer]; - } - return self; -} - -- (void)layoutSubviews -{ - [super layoutSubviews]; - - [self updateWeekdayLabels]; - [self layoutWeekdayLabels]; -} - -#pragma mark - Custom Accessors - -- (NSCalendar *)calendar -{ - if (!_calendar) { - _calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; - _calendar.locale = [NSLocale currentLocale]; - } - return _calendar; -} - -#pragma mark - Private - -- (void)commonInitializer -{ - self.backgroundColor = [self selfBackgroundColor]; - - self.daysInWeek = self.calendar.rsdf_daysInWeek; - self.originalIndexOfFirstWeekdaySymbol = self.calendar.firstWeekday - 1; - self.originalIndexOfSaturdaySymbol = self.calendar.rsdf_saturdayIndex - 1; - self.originalIndexOfSundaySymbol = self.calendar.rsdf_sundayIndex - 1; - - NSString *dateFormatterName = [NSString stringWithFormat:@"calendarDaysOfWeekView_%@_%@", [self.calendar calendarIdentifier], [[self.calendar locale] localeIdentifier]]; - NSDateFormatter *dateFormatter = [self.calendar df_dateFormatterNamed:dateFormatterName withConstructor:^{ - NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; - [dateFormatter setCalendar:self.calendar]; - [dateFormatter setLocale:[self.calendar locale]]; - return dateFormatter; - }]; - self.veryShortStandaloneWeekdaySymbols = [dateFormatter veryShortStandaloneWeekdaySymbols]; - self.shortStandaloneWeekdaySymbols = [dateFormatter shortStandaloneWeekdaySymbols]; - self.standaloneWeekdaySymbols = [dateFormatter standaloneWeekdaySymbols]; - - if (self.originalIndexOfFirstWeekdaySymbol != 0) { - self.veryShortStandaloneWeekdaySymbols = [self reorderedWeekdaySymbols:self.veryShortStandaloneWeekdaySymbols indexOfFirstWeekdaySymbol:self.originalIndexOfFirstWeekdaySymbol]; - self.shortStandaloneWeekdaySymbols = [self reorderedWeekdaySymbols:self.shortStandaloneWeekdaySymbols indexOfFirstWeekdaySymbol:self.originalIndexOfFirstWeekdaySymbol]; - self.standaloneWeekdaySymbols = [self reorderedWeekdaySymbols:self.standaloneWeekdaySymbols indexOfFirstWeekdaySymbol:self.originalIndexOfFirstWeekdaySymbol]; - } -} - -- (void)layoutWeekdayLabels -{ - CGSize itemSize = [self selfItemSize]; - CGFloat interitemSpacing = [self selfInteritemSpacing]; - - // recalculate the frames - CGFloat y = 0.0; - __block CGFloat x; - - NSLocaleLanguageDirection characterDirection = [NSLocale characterDirectionForLanguage:self.calendar.locale.localeIdentifier]; - if (characterDirection == NSLocaleLanguageDirectionRightToLeft) { - x = CGRectGetWidth(self.frame) - itemSize.width; - [self.weekdayLabels enumerateObjectsUsingBlock:^(UILabel *weekdayLabel, NSUInteger idx, BOOL *stop) { - CGRect weekdayLabelFrame = CGRectMake(x, y, itemSize.width, itemSize.height); - weekdayLabel.frame = weekdayLabelFrame; - x -= (itemSize.width + interitemSpacing); - }]; - } else { - x = 0; - [self.weekdayLabels enumerateObjectsUsingBlock:^(UILabel *weekdayLabel, NSUInteger idx, BOOL *stop) { - CGRect weekdayLabelFrame = CGRectMake(x, y, itemSize.width, itemSize.height); - weekdayLabel.frame = weekdayLabelFrame; - x += (itemSize.width + interitemSpacing); - }]; - } -} - -- (CGFloat)maxWidthOfSymbols:(NSArray *)symbols -{ - CGSize boundingRectSize = CGSizeMake(CGFLOAT_MAX, [self selfItemSize].height); - UIFont *font = [self dayOfWeekLabelFont]; - - __block CGFloat maxWidthOfSymbols = 0.0; - [symbols enumerateObjectsUsingBlock:^(NSString* theString, NSUInteger idx,BOOL *stop) { - CGFloat currentWidth = ceilf([theString boundingRectWithSize:boundingRectSize options:NSStringDrawingUsesLineFragmentOrigin attributes:@{ NSFontAttributeName:font } context:nil].size.width); - if (currentWidth >= maxWidthOfSymbols) { - maxWidthOfSymbols = currentWidth; - } - }]; - - return maxWidthOfSymbols; -} - -- (NSUInteger)originalIndexOfWeekdaySymbolFromReorderedIndex:(NSUInteger)reorderedIndex -{ - NSInteger originalIndex = reorderedIndex + self.originalIndexOfFirstWeekdaySymbol; - if (originalIndex > self.daysInWeek - 1) { - originalIndex -= self.daysInWeek; - } - return originalIndex; -} - -- (NSArray *)reorderedWeekdaySymbols:(NSArray *)weekdaySymbols indexOfFirstWeekdaySymbol:(NSUInteger)indexOfFirstWeekdaySymbol -{ - return [[weekdaySymbols subarrayWithRange:NSMakeRange(indexOfFirstWeekdaySymbol, [weekdaySymbols count] - indexOfFirstWeekdaySymbol)] - arrayByAddingObjectsFromArray:[weekdaySymbols subarrayWithRange:NSMakeRange(0, indexOfFirstWeekdaySymbol)]]; -} - -- (void)updateWeekdayLabels -{ - NSArray *symbolsToUse; - - RSDFDaysOfWeekDisplayStyle style = [self displayStyle]; - if (style == RSDFDaysOfWeekDisplayStyleAuto) { - - UIEdgeInsets selfItemInsets = [self selfItemInsets]; - CGFloat maxAvailableItemWidth = [self selfItemSize].width - selfItemInsets.left - selfItemInsets.right; - - // first check if the largest one fits - CGFloat maxWidthOfSymbols = [self maxWidthOfSymbols:self.standaloneWeekdaySymbols]; - if (maxWidthOfSymbols > maxAvailableItemWidth) { // it did not fit - - maxWidthOfSymbols = [self maxWidthOfSymbols:self.shortStandaloneWeekdaySymbols]; - if (maxWidthOfSymbols > maxAvailableItemWidth) { // it did not fit -> use very short symbols - - symbolsToUse = [self.veryShortStandaloneWeekdaySymbols copy]; - } else { - symbolsToUse = [self.shortStandaloneWeekdaySymbols copy]; - } - } else { - symbolsToUse = [self.standaloneWeekdaySymbols copy]; - } - } else { - switch (style) { - case RSDFDaysOfWeekDisplayStyleLong: { - symbolsToUse = [self.standaloneWeekdaySymbols copy]; - break; - } - case RSDFDaysOfWeekDisplayStyleMedium: { - symbolsToUse = [self.shortStandaloneWeekdaySymbols copy]; - break; - } - case RSDFDaysOfWeekDisplayStyleShort: { - symbolsToUse = [self.veryShortStandaloneWeekdaySymbols copy]; - break; - } - default: { - NSLog(@"Invalid RSDFDaysOfWeekDisplayStyle. Defaulting to RSDFDaysOfWeekStyleShort"); - symbolsToUse = [self.veryShortStandaloneWeekdaySymbols copy]; - break; - } - } - } - if (![symbolsToUse isEqualToArray:self.lastSymbolsUsed]){ - // there is now a different set of symbols so we need to reinit/retext the labels - - UIFont *dayOfWeekLabelFont = [self dayOfWeekLabelFont]; - - if (self.weekdayLabels) { // the were already created so just change the text and update the font - [self.weekdayLabels enumerateObjectsUsingBlock:^(UILabel *weekdayLabel, NSUInteger idx, BOOL *stop) { - weekdayLabel.text = [symbolsToUse objectAtIndex:idx]; - weekdayLabel.font = dayOfWeekLabelFont; - }]; - } else { // the labels have not been created yet - UIColor *dayOfWeekLabelBackgroundColor = [UIColor clearColor]; - UIColor *dayOfWeekLabelTextColor = [self dayOfWeekLabelTextColor]; - UIColor *dayOffOfWeekLabelTextColor = [self dayOffOfWeekLabelTextColor]; - UIFont *dayOffOfWeekLabelFont = [self dayOffOfWeekLabelFont]; - - NSMutableArray *weekdayLabels = [NSMutableArray arrayWithCapacity:[symbolsToUse count]]; - [symbolsToUse enumerateObjectsUsingBlock:^(NSString *weekdaySymbol, NSUInteger idx, BOOL *stop) { - UILabel *weekdayLabel = [[UILabel alloc] init]; - weekdayLabel.textAlignment = NSTextAlignmentCenter; - weekdayLabel.backgroundColor = dayOfWeekLabelBackgroundColor; - NSUInteger originalIndexOfWeekdaySymbol = [self originalIndexOfWeekdaySymbolFromReorderedIndex:[symbolsToUse indexOfObjectIdenticalTo:weekdaySymbol]]; - if (originalIndexOfWeekdaySymbol != self.originalIndexOfSaturdaySymbol && originalIndexOfWeekdaySymbol != self.originalIndexOfSundaySymbol) { - weekdayLabel.font = dayOfWeekLabelFont; - weekdayLabel.textColor = dayOfWeekLabelTextColor; - } else { - weekdayLabel.font = dayOffOfWeekLabelFont; - weekdayLabel.textColor = dayOffOfWeekLabelTextColor; - } - weekdayLabel.text = weekdaySymbol; - weekdayLabel.isAccessibilityElement = NO; - [weekdayLabels addObject:weekdayLabel]; - [self addSubview:weekdayLabel]; - }]; - self.weekdayLabels = [weekdayLabels copy]; - } - // update the lastUsedSymbols - self.lastSymbolsUsed = symbolsToUse; - } -} - -- (BOOL)isPhone -{ - return UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone; -} - -- (BOOL)isPortraitInterfaceOrientation -{ - return UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation]); -} - -#pragma mark - Attributes of the View - -- (UIColor *)selfBackgroundColor -{ - return [UIColor colorWithRed:248.0/255 green:248.0/255 blue:248.0/255 alpha:1.0]; -} - -#pragma mark - Attributes of the Layout - -- (CGSize)selfItemSize -{ - NSUInteger numberOfItems = self.daysInWeek; - CGFloat totalInteritemSpacing = [self selfInteritemSpacing] * (numberOfItems - 1); - - CGFloat selfItemWidth = (CGRectGetWidth(self.frame) - totalInteritemSpacing) / numberOfItems; - selfItemWidth = floor(selfItemWidth * 1000) / 1000; - CGFloat selfItemHeight = CGRectGetHeight(self.frame); - - return (CGSize){ selfItemWidth, selfItemHeight }; -} - -- (UIEdgeInsets)selfItemInsets -{ - return UIEdgeInsetsMake(0.0, 16.0, 0.0, 16.0); -} - -- (CGFloat)selfInteritemSpacing -{ - return 2.0f; -} - -- (RSDFDaysOfWeekDisplayStyle)displayStyle -{ - return RSDFDaysOfWeekDisplayStyleAuto; -} - -#pragma mark - Attributes of Subviews - -- (UIFont *)dayOfWeekLabelFont -{ - if ([self isPhone]) { - if ([self isPortraitInterfaceOrientation]) { - return [UIFont fontWithName:@"HelveticaNeue-Light" size:10.0]; - } else { - return [UIFont fontWithName:@"HelveticaNeue-Light" size:12.0]; - } - } else { - return [UIFont fontWithName:@"HelveticaNeue-Light" size:16.0]; - } -} - -- (UIFont *)dayOffOfWeekLabelFont -{ - if ([self isPhone]) { - if ([self isPortraitInterfaceOrientation]) { - return [UIFont fontWithName:@"HelveticaNeue-Light" size:10.0]; - } else { - return [UIFont fontWithName:@"HelveticaNeue-Light" size:12.0]; - } - } else { - return [UIFont fontWithName:@"HelveticaNeue-Light" size:16.0]; - } -} - -- (UIColor *)dayOfWeekLabelTextColor -{ - return [UIColor blackColor]; -} - -- (UIColor *)dayOffOfWeekLabelTextColor -{ - return [UIColor colorWithRed:150.0/255 green:150.0/255 blue:150.0/255 alpha:1.0]; -} - -@end diff --git a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerMonthHeader.h b/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerMonthHeader.h deleted file mode 100644 index ed287e9..0000000 --- a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerMonthHeader.h +++ /dev/null @@ -1,97 +0,0 @@ -// -// RSDFDatePickerMonthHeader.h -// -// Copyright (c) 2013 Evadne Wu, http://radi.ws/ -// Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -/** - The `RSDFDatePickerMonthHeader` is a reusable view which used to display a month and year in the date picker view. - */ -@interface RSDFDatePickerMonthHeader : UICollectionReusableView - -///------------------------- -/// @name Accessing Subviews -///------------------------- - -/** - The label showing the view's date. - */ -@property (nonatomic, readonly, strong) UILabel *dateLabel; - -///---------------------------------------- -/// @name Accessing Attributes of the Month -///---------------------------------------- - -/** - A date which corresponds to the current view. - */ -@property (nonatomic, readwrite, assign) RSDFDatePickerDate date; - -/** - A Boolean value that determines whether the view represents the current month. - */ -@property (nonatomic, getter = isCurrentMonth) BOOL currentMonth; - -///--------------------------------------- -/// @name Accessing Attributes of the View -///--------------------------------------- - -/** - The view’s background color. Default value is `[UIColor clearColor]`. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIColor *)selfBackgroundColor; - -///--------------------------------------- -/// @name Accessing Attributes of Subviews -///--------------------------------------- - -/** - The font for the label of the month. Default value is [UIFont fontWithName:@"HelveticaNeue" size:16.0f]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIFont *)monthLabelFont; - -/** - The text color for the label of the month. Default value is [UIColor blackColor]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIColor *)monthLabelTextColor; - -/** - The text color for the label of the current month. Default value is [UIColor colorWithRed:32/255.0f green:135/255.0f blue:252/255.0f alpha:1.0f]. - - @discussion Can be overridden in subclasses for customization. - */ -- (UIColor *)currentMonthLabelTextColor; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerMonthHeader.m b/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerMonthHeader.m deleted file mode 100644 index 5cef305..0000000 --- a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerMonthHeader.m +++ /dev/null @@ -1,112 +0,0 @@ -// -// RSDFDatePickerMonthHeader.m -// -// Copyright (c) 2013 Evadne Wu, http://radi.ws/ -// Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import "RSDFDatePickerMonthHeader.h" - -@implementation RSDFDatePickerMonthHeader - -@synthesize dateLabel = _dateLabel; - -#pragma mark - Lifecycle - -- (instancetype)initWithFrame:(CGRect)frame -{ - self = [super initWithFrame:frame]; - if (self) { - [self commonInitializer]; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super initWithCoder:aDecoder]; - if (self) { - [self commonInitializer]; - } - return self; -} - -- (void)commonInitializer -{ - self.backgroundColor = [self selfBackgroundColor]; -} - -#pragma mark - Custom Accessors - -- (UILabel *)dateLabel -{ - if (!_dateLabel) { - _dateLabel = [[UILabel alloc] initWithFrame:self.bounds]; - _dateLabel.backgroundColor = [UIColor clearColor]; - _dateLabel.opaque = NO; - _dateLabel.textAlignment = NSTextAlignmentCenter; - _dateLabel.font = [self monthLabelFont]; - _dateLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; - [self addSubview:_dateLabel]; - } - return _dateLabel; -} - -- (void)setDate:(RSDFDatePickerDate)date -{ - _date = date; -} - -- (void)setCurrentMonth:(BOOL)currentMonth -{ - _currentMonth = currentMonth; - if (!_currentMonth) { - self.dateLabel.textColor = [self monthLabelTextColor]; - } else { - self.dateLabel.textColor = [self currentMonthLabelTextColor]; - } -} - -#pragma mark - Attributes of the View - -- (UIColor *)selfBackgroundColor -{ - return [UIColor clearColor]; -} - -#pragma mark - Attributes of Subviews - -- (UIFont *)monthLabelFont -{ - return [UIFont fontWithName:@"HelveticaNeue" size:16.0f]; -} - -- (UIColor *)monthLabelTextColor -{ - return [UIColor blackColor]; -} - -- (UIColor *)currentMonthLabelTextColor -{ - return [UIColor colorWithRed:32/255.0f green:135/255.0f blue:252/255.0f alpha:1.0f]; -} - -@end diff --git a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerView+Protected.h b/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerView+Protected.h deleted file mode 100644 index bd5a6d5..0000000 --- a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerView+Protected.h +++ /dev/null @@ -1,57 +0,0 @@ -// -// RSDFDatePickerView+Protected.h -// -// Copyright (c) 2013 Evadne Wu, http://radi.ws/ -// Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** - The methods in the RSDFDatePickerViewProtectedMethods category - typically should only be called by subclasses which are implementing new - date picker views. If you override one you must call super. - */ -@interface RSDFDatePickerView (RSDFDatePickerViewProtectedMethods) - -/** - Returns the date that corresponds to the specified cell in the date picker view. - - @param indexPath The index path that specifies the location of the cell. - - @return The date that corresponds to the specified cell in the date picker view. - */ -- (NSDate *)dateForCellAtIndexPath:(NSIndexPath *)indexPath; - -/** - Returns the date of the first day of the month that corresponds to the specified section in the date picker view. - - @param section The section that specifies the location of the month. - - @return The date of the first day of the month that corresponds to the specified section in the date picker view. - */ -- (NSDate *)dateForFirstDayInSection:(NSInteger)section; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerView.h b/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerView.h deleted file mode 100644 index ebfca07..0000000 --- a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerView.h +++ /dev/null @@ -1,290 +0,0 @@ -// -// RSDFDatePickerView.h -// -// Copyright (c) 2013 Evadne Wu, http://radi.ws/ -// Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@protocol RSDFDatePickerViewDelegate; -@protocol RSDFDatePickerViewDataSource; - -/** - The `RSDFDatePickerView` is a calendar view with infinity scrolling. - */ -@interface RSDFDatePickerView : UIView - -/** - Designated initializer. Initializes and returns a newly allocated view object with the specified frame rectangle and the specified calendar. - - @param frame The frame rectangle for the view, measured in points. - @param calendar The calendar for the date picker view. - */ -- (instancetype)initWithFrame:(CGRect)frame calendar:(nullable NSCalendar *)calendar; - - -/** - Designated initializer. Initializes and returns a newly allocated view object with the specified frame rectangle and the specified calendar. - - @param frame The frame rectangle for the view, measured in points. - @param calendar The calendar for the date picker view. - @param startDate The first selectable date. - @param endDate The last selectable date. - */ -- (instancetype)initWithFrame:(CGRect)frame calendar:(nullable NSCalendar *)calendar startDate:(nullable NSDate *)startDate endDate:(nullable NSDate *)endDate; - -///----------------------------- -/// @name Accessing the Delegate -///----------------------------- - -/** - The receiver's delegate. - - @discussion A `RSDFDatePickerView` delegate responds to message sent by tapping on date in the date picker view. - */ -@property (nonatomic, readwrite, weak, nullable) id delegate; - -///-------------------------------- -/// @name Accessing the Data Source -///-------------------------------- - -/** - The receiver's data source. - - @discussion A `RSDFDatePickerView` data source provides dates to mark in the date picker view. - */ - -@property (nonatomic, readwrite, weak, nullable) id dataSource; - -///------------------ -/// @name Paging Mode -/// ----------------- - -/** - A Boolean value that determines whether paging is enabled for the date picker view. Default value is `NO`. - - @discussion If `YES`, stop on the top of the month. - */ -@property (nonatomic, getter = isPagingEnabled) BOOL pagingEnabled; - -///---------------------------- -/// @name Scrolling to the Date -///---------------------------- - -/** - Scrolls the date picker view to the current day. - - @param animated YES if you want to animate the change in position, NO if it should be immediate. - */ - -- (void)scrollToToday:(BOOL)animated; - -/** - Scrolls the date picker view to the given date. - - @param animated YES if you want to animate the change in position, NO if it should be immediate. - */ - -- (void)scrollToDate:(NSDate *)date animated:(BOOL)animated; - -/// ------------------------ -/// @name Selecting the Date -/// ------------------------ - -/** - Selects the specified date. - - If there is an existing selection of a different date, calling this method replaces the previous selection. - - This method does not cause any selection-related delegate methods to be called. - - @param date The date to select. Specifying nil for this parameter clears the current selection. - */ - -- (void)selectDate:(nullable NSDate *)date; - -///------------------------- -/// @name Reloading the Data -///------------------------- - -/** - Reloads all of the data for the date picker view. - - @discussion Discard the dataSource and delegate data and requery as necessary. - */ -- (void)reloadData; - -///------------------------------------ -/// @name Accessing Classes of Subviews -///------------------------------------ - -/** - The class of the view with labels for each day of the week. Default value is `RSDFDatePickerDaysOfWeekView`. - - @discussion Can be overridden in subclasses for customization. - */ -- (Class)daysOfWeekViewClass; - -/** - The class of the collection view which used to display days and months in the date picker view. Default value is `RSDFDatePickerCollectionView`. - - @discussion Can be overridden in subclasses for customization. - */ -- (Class)collectionViewClass; - -/** - The class of the layout of the collection view which used the date picker. Default value is `RSDFDatePickerCollectionViewLayout`. - - @discussion Can be overridden in subclasses for customization. - */ -- (Class)collectionViewLayoutClass; - -/** - The class of the reusable view which used to display a month and year in the date picker view. Default value is `RSDFDatePickerMonthHeader`. - - @discussion Can be overridden in subclasses for customization. - */ -- (Class)monthHeaderClass; - -/** - The class of the cell which used to display a day in the date picker view. Default value is `RSDFDatePickerDayCell`. - - @discussion Can be overridden in subclasses for customization. - */ -- (Class)dayCellClass; - -///----------------------------------------- -/// @name Accessing Attributes of the Layout -///----------------------------------------- - -/** - The height of the days of week view. Default value depends on the interface idiom and the interface orientation. - - `UIUserInterfaceIdiomPhone`: - - `UIInterfaceOrientationPortrait` or `UIInterfaceOrientationPortraitUpsideDown`: `22.0f` - - Other: `26.0f` - Other: - - Any: `36.0f` - - @discussion Can be overridden in subclasses for customization. - */ -- (CGFloat)daysOfWeekViewHeight; - -@end - -/** - The `RSDFDatePickerViewDelegate` protocol defines the message sent to a date picker view delegate when date is tapped. - */ -@protocol RSDFDatePickerViewDelegate - -///----------------------------------- -/// @name Responding to Date Selection -///----------------------------------- - -@optional - -/** - Asks the delegate if the date should be highlighted during tracking. - - As touch events arrive, the date picker view highlights dates in anticipation of the user selecting them. - As it processes those touch events, the date picker view calls this method to ask your delegate if a given cell should be highlighted. - - If you do not implement this method, the default return value is YES. - - @param view The date picker view object that is asking about the highlight change. - - @return YES if the date should be highlighted or NO if it should not. - */ -- (BOOL)datePickerView:(RSDFDatePickerView *)view shouldHighlightDate:(NSDate *)date; - -/** - Asks the delegate if the specified date should be selected. - - The date picker view calls this method when the user tries to select a date in the date picker view. - It does not call this method when you programmatically set the selection. - - If you do not implement this method, the default return value is YES. - - @param view The date picker view object that is asking whether the date should select. - - @return YES if the date should be selected or NO if it should not. - */ -- (BOOL)datePickerView:(RSDFDatePickerView *)view shouldSelectDate:(NSDate *)date; - -/** - Tells the delegate that the user did select a date. - - The date picker view calls this method when the user successfully selects a date in the date picker view. - It does not call this method when you programmatically set the selection. - - @param view The view whose date was selected. - @param date The selected date. - */ -- (void)datePickerView:(RSDFDatePickerView *)view didSelectDate:(NSDate *)date; - -@end - -/** - The `RSDFDatePickerViewDataSource` protocol is adopted by an object that provides dates to mark in the date picker view. - */ -@protocol RSDFDatePickerViewDataSource - -///------------------------------ -/// @name Providing Dates to Mark -///------------------------------ - -@optional - -/** - Asks the data source if the date should be marked. - - @param view The date picker view object that is asking whether the date should mark. - - @return YES if the date should be marked or NO if it should not. - */ -- (BOOL)datePickerView:(RSDFDatePickerView *)view shouldMarkDate:(NSDate *)date; - -/** - Asks the data source about the color of the default mark image for the specified date. - - @param view The date picker view object that is asking about the color of the default mark image for the specified date. - - @return The color of the default mark image for the specified date. - - @discussion Will be ignored if the method `datePickerView:markImageForDate:` is implemented. - */ -- (UIColor *)datePickerView:(RSDFDatePickerView *)view markImageColorForDate:(NSDate *)date; - -/** - Asks the data source about the mark image for the specified date. - - @param view The date picker view object that is asking about the mark image for the specified date. - - @return The mark image for the specified date. - */ -- (nullable UIImage *)datePickerView:(RSDFDatePickerView *)view markImageForDate:(NSDate *)date; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerView.m b/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerView.m deleted file mode 100755 index c870123..0000000 --- a/Example/Pods/RSDayFlow/RSDayFlow/RSDFDatePickerView.m +++ /dev/null @@ -1,932 +0,0 @@ -// -// RSDFDatePickerView.m -// -// Copyright (c) 2013 Evadne Wu, http://radi.ws/ -// Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import -#import "RSDFDatePickerCollectionView.h" -#import "RSDFDatePickerCollectionViewLayout.h" -#import "RSDFDatePickerDate.h" -#import "RSDFDatePickerDayCell.h" -#import "RSDFDatePickerMonthHeader.h" -#import "RSDFDatePickerView.h" -#import "RSDFDatePickerDaysOfWeekView.h" -#import "NSCalendar+RSDFAdditions.h" - -static NSString * const RSDFDatePickerViewMonthHeaderIdentifier = @"RSDFDatePickerViewMonthHeaderIdentifier"; -static NSString * const RSDFDatePickerViewDayCellIdentifier = @"RSDFDatePickerViewDayCellIdentifier"; - -@interface RSDFDatePickerView () - -@property (nonatomic, readonly, strong) NSCalendar *calendar; -@property (nonatomic, readonly, strong) RSDFDatePickerDaysOfWeekView *daysOfWeekView; -@property (nonatomic, readonly, strong) RSDFDatePickerCollectionView *collectionView; -@property (nonatomic, readonly, strong) RSDFDatePickerCollectionViewLayout *collectionViewLayout; -@property (nonatomic, readonly, strong) NSDate *today; -@property (nonatomic, readonly, assign) NSUInteger daysInWeek; -@property (nonatomic, readonly, strong) NSDate *selectedDate; - -// From and to date are the currently displayed dates in the calendar. -// These values change in infinite scrolling mode. -@property (nonatomic, readonly, strong) NSDate *fromDate; -@property (nonatomic, readonly, strong) NSDate *toDate; - -// Start and end date are date limits displayed in the calendar (no infinite scrolling). -@property (nonatomic, readonly, strong) NSDate *startDate; -@property (nonatomic, readonly, strong) NSDate *endDate; - -@end - -@implementation RSDFDatePickerView - -@synthesize calendar = _calendar; -@synthesize fromDate = _fromDate; -@synthesize toDate = _toDate; -@synthesize daysOfWeekView = _daysOfWeekView; -@synthesize collectionView = _collectionView; -@synthesize collectionViewLayout = _collectionViewLayout; -@synthesize daysInWeek = _daysInWeek; - -#pragma mark - Object Lifecycle - -- (void)dealloc -{ - [[NSNotificationCenter defaultCenter] removeObserver:self]; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super initWithCoder:aDecoder]; - if (self) { - [self commonInitializer]; - } - return self; -} - -- (instancetype)initWithFrame:(CGRect)frame -{ - self = [super initWithFrame:frame]; - if (self) { - [self commonInitializer]; - } - return self; -} - -- (instancetype)initWithFrame:(CGRect)frame calendar:(NSCalendar *)calendar startDate:(NSDate *)startDate endDate:(NSDate *)endDate -{ - self = [super initWithFrame:frame]; - if (self) { - _startDate = startDate ? [self dateWithoutTimeComponents:startDate] : nil; - _endDate = endDate ? [self dateWithoutTimeComponents:endDate] : nil; - _calendar = calendar; - [self commonInitializer]; - } - return self; -} - -- (instancetype)initWithFrame:(CGRect)frame calendar:(NSCalendar *)calendar -{ - self = [self initWithFrame:frame calendar:calendar startDate:nil endDate:nil]; - return self; -} - -#pragma mark - Layout - -- (void)layoutSubviews -{ - CGPoint beforeLayoutSubviewsContentOffset = self.collectionView.contentOffset; - - [super layoutSubviews]; - - self.daysOfWeekView.frame = [self daysOfWeekViewFrame]; - if (!self.daysOfWeekView.superview) { - [self addSubview:self.daysOfWeekView]; - } - - self.collectionView.frame = [self collectionViewFrame]; - if (!self.collectionView.superview) { - [self addSubview:self.collectionView]; - } else { - [self.collectionViewLayout invalidateLayout]; - [self.collectionViewLayout prepareLayout]; - self.collectionView.contentOffset = beforeLayoutSubviewsContentOffset; - } -} - -#pragma mark - Properties - -- (NSCalendar *)calendar -{ - if (!_calendar) { - _calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; - _calendar.locale = [NSLocale currentLocale]; - } - return _calendar; -} - -- (RSDFDatePickerCollectionView *)collectionView -{ - if (!_collectionView) { - _collectionView = [[[self collectionViewClass] alloc] initWithFrame:[self collectionViewFrame] collectionViewLayout:self.collectionViewLayout]; - _collectionView.dataSource = self; - _collectionView.delegate = self; - [_collectionView registerClass:[self monthHeaderClass] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:RSDFDatePickerViewMonthHeaderIdentifier]; - [_collectionView registerClass:[self dayCellClass] forCellWithReuseIdentifier:RSDFDatePickerViewDayCellIdentifier]; - [_collectionView reloadData]; - [_collectionView layoutIfNeeded]; - [self scrollToToday:NO]; - } - return _collectionView; -} - -- (Class)collectionViewClass -{ - return [RSDFDatePickerCollectionView class]; -} - -- (CGRect)collectionViewFrame -{ - CGFloat daysOfWeekViewHeight = CGRectGetHeight([self daysOfWeekViewFrame]); - - CGRect collectionViewFrame = self.bounds; - collectionViewFrame.origin.y += daysOfWeekViewHeight; - collectionViewFrame.size.height -= daysOfWeekViewHeight; - return collectionViewFrame; -} - -- (RSDFDatePickerCollectionViewLayout *)collectionViewLayout -{ - if (!_collectionViewLayout) { - NSLocaleLanguageDirection characterDirection = [NSLocale characterDirectionForLanguage:self.calendar.locale.localeIdentifier]; - RSDFDatePickerCollectionViewLayoutDirection layoutDirection; - if (characterDirection == NSLocaleLanguageDirectionRightToLeft) { - layoutDirection = RSDFDatePickerCollectionViewLayoutDirectionRightToLeft; - } else { - layoutDirection = RSDFDatePickerCollectionViewLayoutDirectionLeftToRight; - } - _collectionViewLayout = [[[self collectionViewLayoutClass] alloc] initWithDirection:layoutDirection]; - } - return _collectionViewLayout; -} - -- (Class)collectionViewLayoutClass -{ - return [RSDFDatePickerCollectionViewLayout class]; -} - -- (Class)dayCellClass -{ - return [RSDFDatePickerDayCell class]; -} - -- (NSUInteger)daysInWeek -{ - if (_daysInWeek == 0) { - _daysInWeek = self.calendar.rsdf_daysInWeek; - } - return _daysInWeek; -} - -- (RSDFDatePickerDaysOfWeekView *)daysOfWeekView -{ - if (!_daysOfWeekView) { - _daysOfWeekView = [[[self daysOfWeekViewClass] alloc] initWithFrame:[self daysOfWeekViewFrame] calendar:self.calendar]; - [_daysOfWeekView layoutIfNeeded]; - } - return _daysOfWeekView; -} - -- (Class)daysOfWeekViewClass -{ - return [RSDFDatePickerDaysOfWeekView class]; -} - -- (CGRect)daysOfWeekViewFrame -{ - CGRect daysOfWeekViewFrame = self.bounds; - daysOfWeekViewFrame.size.height = [self daysOfWeekViewHeight]; - - return daysOfWeekViewFrame; -} - -- (CGFloat)daysOfWeekViewHeight -{ - CGFloat daysOfWeekViewHeight = 0.0f; - - BOOL isPhone = UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone; - BOOL isPortraitInterfaceOrientation = UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation]); - - if (isPhone) { - if (isPortraitInterfaceOrientation) { - daysOfWeekViewHeight = 22.0f; - } else { - daysOfWeekViewHeight = 26.0f; - } - } else { - daysOfWeekViewHeight = 36.0f; - } - - return daysOfWeekViewHeight; -} - -- (Class)monthHeaderClass -{ - return [RSDFDatePickerMonthHeader class]; -} - -#pragma mark - Handling Notifications - -- (void)significantTimeChange:(NSNotification *)notification -{ - NSDateComponents *todayYearMonthDayComponents = [self.calendar components:(NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay) fromDate:[NSDate date]]; - _today = [self.calendar dateFromComponents:todayYearMonthDayComponents]; - - [self.collectionView reloadData]; - [self restoreSelection]; -} - -#pragma mark - Public - -- (void)reloadData -{ - [self.collectionView reloadData]; -} - -- (void)scrollToDate:(NSDate *)date animated:(BOOL)animated -{ - if (self.startDate && [date compare:self.startDate] == NSOrderedAscending) { - return; - } - - if (self.endDate && [date compare:self.endDate] == NSOrderedDescending) { - return; - } - - RSDFDatePickerCollectionView *cv = self.collectionView; - RSDFDatePickerCollectionViewLayout *cvLayout = (RSDFDatePickerCollectionViewLayout *)self.collectionView.collectionViewLayout; - - NSDateComponents *dateYearMonthComponents = [self.calendar components:(NSCalendarUnitYear | NSCalendarUnitMonth) fromDate:date]; - NSDate *month = [self.calendar dateFromComponents:dateYearMonthComponents]; - - // If startDate exists don't try to update toDate because it was done on init, and date limit should remain. - if (!self.startDate) { - _fromDate = [self dateWithFirstDayOfMonth:[self.calendar dateByAddingComponents:((^{ - NSDateComponents *components = [NSDateComponents new]; - components.month = -6; - return components; - })()) toDate:month options:0]]; - } - - // If endDate exists don't try to update toDate because it was done on init, and date limit should remain. - if (!self.endDate) { - _toDate = [self dateWithFirstDayOfMonth:[self.calendar dateByAddingComponents:((^{ - NSDateComponents *components = [NSDateComponents new]; - components.month = 6; - return components; - })()) toDate:month options:0]]; - } - - [cv reloadData]; - [cvLayout invalidateLayout]; - [cvLayout prepareLayout]; - - [self restoreSelection]; - - NSIndexPath *dateItemIndexPath = [self indexPathForDate:date]; - NSInteger monthSection = [self sectionForDate:date]; - - CGRect dateItemRect = [self frameForItemAtIndexPath:dateItemIndexPath]; - CGRect monthSectionHeaderRect = [self frameForHeaderForSection:monthSection]; - - CGFloat delta = CGRectGetMaxY(dateItemRect) - CGRectGetMinY(monthSectionHeaderRect); - CGFloat actualViewHeight = CGRectGetHeight(cv.frame) - cv.contentInset.top - cv.contentInset.bottom; - - if (delta <= actualViewHeight) { - [self scrollToTopOfSection:monthSection animated:animated]; - } else { - [cv scrollToItemAtIndexPath:dateItemIndexPath atScrollPosition:UICollectionViewScrollPositionBottom animated:animated]; - } -} - -- (void)scrollToToday:(BOOL)animated -{ - [self scrollToDate:self.today animated:animated]; -} - -- (void)selectDate:(NSDate *)date -{ - if (![self.selectedDate isEqual:date]) { - if (self.selectedDate && - [self.selectedDate compare:self.fromDate] != NSOrderedAscending && - [self.selectedDate compare:self.toDate] == NSOrderedAscending) { - NSIndexPath *previousSelectedCellIndexPath = [self indexPathForDate:self.selectedDate]; - [self.collectionView deselectItemAtIndexPath:previousSelectedCellIndexPath animated:NO]; - UICollectionViewCell *previousSelectedCell = [self.collectionView cellForItemAtIndexPath:previousSelectedCellIndexPath]; - if (previousSelectedCell) { - [previousSelectedCell setNeedsDisplay]; - } - } - - _selectedDate = date; - - if (self.selectedDate && - [self.selectedDate compare:self.fromDate] != NSOrderedAscending && - [self.selectedDate compare:self.toDate] == NSOrderedAscending) { - NSIndexPath *indexPathForSelectedDate = [self indexPathForDate:self.selectedDate]; - [self.collectionView selectItemAtIndexPath:indexPathForSelectedDate animated:NO scrollPosition:UICollectionViewScrollPositionNone]; - UICollectionViewCell *selectedCell = [self.collectionView cellForItemAtIndexPath:indexPathForSelectedDate]; - if (selectedCell) { - [selectedCell setNeedsDisplay]; - } - } - } -} - -#pragma mark - Helper Methods - -- (void)appendFutureDates -{ - [self shiftDatesByComponents:((^{ - NSDateComponents *dateComponents = [NSDateComponents new]; - dateComponents.month = 6; - return dateComponents; - })())]; -} - -- (void)appendPastDates -{ - [self shiftDatesByComponents:((^{ - NSDateComponents *dateComponents = [NSDateComponents new]; - dateComponents.month = -6; - return dateComponents; - })())]; -} - -- (void)commonInitializer -{ - NSDateComponents *nowYearMonthComponents = [self.calendar components:(NSCalendarUnitYear | NSCalendarUnitMonth) fromDate:[NSDate date]]; - NSDate *now = [self.calendar dateFromComponents:nowYearMonthComponents]; - - if (self.startDate) { - _fromDate = [self dateWithFirstDayOfMonth:self.startDate]; - } else { - _fromDate = [self dateWithFirstDayOfMonth:[self.calendar dateByAddingComponents:((^{ - NSDateComponents *components = [NSDateComponents new]; - components.month = -6; - return components; - })()) toDate:now options:0]]; - } - - if (self.endDate) { - _toDate = [self dateWithFirstDayOfNextMonth:self.endDate]; - } else { - _toDate = [self dateWithFirstDayOfMonth:[self.calendar dateByAddingComponents:((^{ - NSDateComponents *components = [NSDateComponents new]; - components.month = 6; - return components; - })()) toDate:now options:0]]; - } - - NSDateComponents *todayYearMonthDayComponents = [self.calendar components:(NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay) fromDate:[NSDate date]]; - _today = [self.calendar dateFromComponents:todayYearMonthDayComponents]; - - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(significantTimeChange:) - name:UIApplicationSignificantTimeChangeNotification - object:nil]; -} - -- (NSDate *)dateWithFirstDayOfNextMonth:(NSDate *)date -{ - NSDateComponents *components = [self.calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:date]; - - components.month = components.month + 1; - components.day = 1; - return [self.calendar dateFromComponents:components]; -} - -- (NSDate *)dateForCellAtIndexPath:(NSIndexPath *)indexPath -{ - NSDate *firstDayInMonth = [self dateForFirstDayInSection:indexPath.section]; - NSUInteger weekday = [self reorderedWeekday:[self.calendar components:NSCalendarUnitWeekday fromDate:firstDayInMonth].weekday]; - - NSDate *cellDate = [self.calendar dateByAddingComponents:((^{ - NSDateComponents *dateComponents = [NSDateComponents new]; - dateComponents.day = indexPath.item - weekday; - return dateComponents; - })()) toDate:firstDayInMonth options:0]; - - return cellDate; -} - -- (NSDate *)dateForFirstDayInSection:(NSInteger)section -{ - return [self.calendar dateByAddingComponents:((^{ - NSDateComponents *dateComponents = [NSDateComponents new]; - dateComponents.month = section; - return dateComponents; - })()) toDate:self.fromDate options:0]; -} - -- (NSDate *)dateWithFirstDayOfMonth:(NSDate *)date -{ - NSDateComponents *dateComponents = [self.calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:date]; - dateComponents.day = 1; - return [self.calendar dateFromComponents:dateComponents]; -} - -- (NSDate *)dateWithoutTimeComponents:(NSDate *)date -{ - NSDateComponents *dateComponents = [self.calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:date]; - return [self.calendar dateFromComponents:dateComponents]; -} - -- (CGRect)frameForHeaderForSection:(NSInteger)section -{ - NSIndexPath *indexPath = [NSIndexPath indexPathForItem:0 inSection:section]; - UICollectionViewLayoutAttributes *attributes = [self.collectionView layoutAttributesForSupplementaryElementOfKind:UICollectionElementKindSectionHeader atIndexPath:indexPath]; - - return attributes.frame; -} - -- (CGRect)frameForItemAtIndexPath:(NSIndexPath *)indexPath -{ - UICollectionViewLayoutAttributes *attributes = [self.collectionView layoutAttributesForItemAtIndexPath:indexPath]; - - return attributes.frame; -} - -- (NSIndexPath *)indexPathForDate:(NSDate *)date -{ - NSInteger monthSection = [self sectionForDate:date]; - NSDate *firstDayInMonth = [self dateForFirstDayInSection:monthSection]; - NSUInteger weekday = [self reorderedWeekday:[self.calendar components:NSCalendarUnitWeekday fromDate:firstDayInMonth].weekday]; - NSInteger dateItem = [self.calendar components:NSCalendarUnitDay fromDate:firstDayInMonth toDate:date options:0].day + weekday; - NSIndexPath *indexPath = [NSIndexPath indexPathForItem:dateItem inSection:monthSection]; - - return indexPath; -} - -- (NSUInteger)numberOfWeeksForMonthOfDate:(NSDate *)date -{ - NSDate *firstDayInMonth = [self.calendar dateFromComponents:[self.calendar components:NSCalendarUnitYear|NSCalendarUnitMonth fromDate:date]]; - - NSDate *lastDayInMonth = [self.calendar dateByAddingComponents:((^{ - NSDateComponents *dateComponents = [NSDateComponents new]; - dateComponents.month = 1; - dateComponents.day = -1; - return dateComponents; - })()) toDate:firstDayInMonth options:0]; - - NSDate *fromFirstWeekday = [self.calendar dateFromComponents:((^{ - NSDateComponents *dateComponents = [self.calendar components:NSCalendarUnitWeekOfYear|NSCalendarUnitYearForWeekOfYear fromDate:firstDayInMonth]; - dateComponents.weekday = self.calendar.firstWeekday; - return dateComponents; - })())]; - - NSDate *toFirstWeekday = [self.calendar dateFromComponents:((^{ - NSDateComponents *dateComponents = [self.calendar components:NSCalendarUnitWeekOfYear|NSCalendarUnitYearForWeekOfYear fromDate:lastDayInMonth]; - dateComponents.weekday = self.calendar.firstWeekday; - return dateComponents; - })())]; - - return 1 + [self.calendar components:NSCalendarUnitWeekOfYear fromDate:fromFirstWeekday toDate:toFirstWeekday options:0].weekOfYear; -} - -- (RSDFDatePickerDate)pickerDateFromDate:(NSDate *)date -{ - NSDateComponents *components = [self.calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:date]; - return (RSDFDatePickerDate) { - components.year, - components.month, - components.day - }; -} - -- (NSUInteger)reorderedWeekday:(NSUInteger)weekday -{ - NSInteger ordered = weekday - self.calendar.firstWeekday; - if (ordered < 0) { - ordered = self.daysInWeek + ordered; - } - - return ordered; -} - -- (void)restoreSelection -{ - if (self.selectedDate && - [self.selectedDate compare:self.fromDate] != NSOrderedAscending && - [self.selectedDate compare:self.toDate] == NSOrderedAscending) { - NSIndexPath *indexPathForSelectedDate = [self indexPathForDate:self.selectedDate]; - [self.collectionView selectItemAtIndexPath:indexPathForSelectedDate animated:NO scrollPosition:UICollectionViewScrollPositionNone]; - UICollectionViewCell *selectedCell = [self.collectionView cellForItemAtIndexPath:indexPathForSelectedDate]; - if (selectedCell) { - [selectedCell setNeedsDisplay]; - } - } -} - -- (void)scrollToTopOfSection:(NSInteger)section animated:(BOOL)animated -{ - CGRect headerRect = [self frameForHeaderForSection:section]; - CGPoint topOfHeader = CGPointMake(0, headerRect.origin.y - _collectionView.contentInset.top); - [_collectionView setContentOffset:topOfHeader animated:animated]; -} - -- (NSInteger)sectionForDate:(NSDate *)date; -{ - return [self.calendar components:NSCalendarUnitMonth fromDate:[self dateForFirstDayInSection:0] toDate:date options:0].month; -} - -- (void)shiftDatesByComponents:(NSDateComponents *)components -{ - RSDFDatePickerCollectionView *cv = self.collectionView; - RSDFDatePickerCollectionViewLayout *cvLayout = (RSDFDatePickerCollectionViewLayout *)self.collectionView.collectionViewLayout; - - NSArray *visibleCells = [cv visibleCells]; - if (![visibleCells count]) - return; - - NSIndexPath *fromIndexPath = [cv indexPathForCell:((UICollectionViewCell *)visibleCells[0]) ]; - NSInteger fromSection = fromIndexPath.section; - NSDate *fromSectionOfDate = [self dateForFirstDayInSection:fromSection]; - UICollectionViewLayoutAttributes *fromAttrs = [cvLayout layoutAttributesForItemAtIndexPath:[NSIndexPath indexPathForItem:0 inSection:fromSection]]; - CGPoint fromSectionOrigin = [self convertPoint:fromAttrs.frame.origin fromView:cv]; - - if (!self.startDate) { - _fromDate = [self dateWithFirstDayOfMonth:[self.calendar dateByAddingComponents:components toDate:self.fromDate options:0]]; - } - - if (!self.endDate) { - _toDate = [self dateWithFirstDayOfMonth:[self.calendar dateByAddingComponents:components toDate:self.toDate options:0]]; - } - -#if 0 - - // This solution trips up the collection view a bit - // because our reload is reactionary, and happens before a relayout - // since we must do it to avoid flickering and to heckle the CA transaction (?) - // that could be a small red flag too. - - [cv performBatchUpdates:^{ - - if (components.month < 0) { - - [cv deleteSections:[NSIndexSet indexSetWithIndexesInRange:(NSRange){ - cv.numberOfSections - abs(components.month), - abs(components.month) - }]]; - - [cv insertSections:[NSIndexSet indexSetWithIndexesInRange:(NSRange){ - 0, - abs(components.month) - }]]; - - } else { - - [cv insertSections:[NSIndexSet indexSetWithIndexesInRange:(NSRange){ - cv.numberOfSections, - abs(components.month) - }]]; - - [cv deleteSections:[NSIndexSet indexSetWithIndexesInRange:(NSRange){ - 0, - abs(components.month) - }]]; - - } - - } completion:^(BOOL finished) { - - NSLog(@"%s %x", __PRETTY_FUNCTION__, finished); - - }]; - - for (UIView *view in cv.subviews) - [view.layer removeAllAnimations]; - -#else - - [cv reloadData]; - [cvLayout invalidateLayout]; - [cvLayout prepareLayout]; - - [self restoreSelection]; - -#endif - - NSInteger toSection = [self sectionForDate:fromSectionOfDate]; - UICollectionViewLayoutAttributes *toAttrs = [cvLayout layoutAttributesForItemAtIndexPath:[NSIndexPath indexPathForItem:0 inSection:toSection]]; - CGPoint toSectionOrigin = [self convertPoint:toAttrs.frame.origin fromView:cv]; - - [cv setContentOffset:(CGPoint) { - cv.contentOffset.x, - cv.contentOffset.y + (toSectionOrigin.y - fromSectionOrigin.y) - }]; -} - -#pragma mark - - -- (RSDFDatePickerDayCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath -{ - RSDFDatePickerDayCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:RSDFDatePickerViewDayCellIdentifier forIndexPath:indexPath]; - - NSDate *firstDayInMonth = [self dateForFirstDayInSection:indexPath.section]; - NSUInteger firstDayInMonthWeekday = [self reorderedWeekday:[self.calendar components:NSCalendarUnitWeekday fromDate:firstDayInMonth].weekday]; - - NSDate *cellDate = [self.calendar dateByAddingComponents:((^{ - NSDateComponents *dateComponents = [NSDateComponents new]; - dateComponents.day = indexPath.item - firstDayInMonthWeekday; - return dateComponents; - })()) toDate:firstDayInMonth options:0]; - RSDFDatePickerDate cellPickerDate = [self pickerDateFromDate:cellDate]; - - cell.date = cellPickerDate; - cell.dateLabel.text = [NSString stringWithFormat:@"%tu", cellPickerDate.day]; - - RSDFDatePickerDate firstDayPickerDate = [self pickerDateFromDate:firstDayInMonth]; - cell.notThisMonth = !((firstDayPickerDate.year == cellPickerDate.year) && (firstDayPickerDate.month == cellPickerDate.month)); - - cell.dateLabel.isAccessibilityElement = NO; - cell.isAccessibilityElement = !cell.notThisMonth; - - if (!cell.isNotThisMonth) { - NSUInteger cellDateWeekday = [self.calendar components:NSCalendarUnitWeekday fromDate:cellDate].weekday; - cell.dayOff = (cellDateWeekday == self.calendar.rsdf_saturdayIndex) || (cellDateWeekday == self.calendar.rsdf_sundayIndex); - - if ([self.dataSource respondsToSelector:@selector(datePickerView:shouldMarkDate:)]) { - cell.marked = [self.dataSource datePickerView:self shouldMarkDate:cellDate]; - - if (cell.marked) { - if ([self.dataSource respondsToSelector:@selector(datePickerView:markImageForDate:)]) { - cell.markImage = [self.dataSource datePickerView:self markImageForDate:cellDate]; - } else if ([self.dataSource respondsToSelector:@selector(datePickerView:markImageColorForDate:)]) { - cell.markImageColor = [self.dataSource datePickerView:self markImageColorForDate:cellDate]; - } - } - } - - NSComparisonResult result = [_today compare:cellDate]; - switch (result) { - case NSOrderedSame: { - cell.today = YES; - cell.pastDate = NO; - break; - } - case NSOrderedDescending: { - cell.today = NO; - cell.pastDate = YES; - break; - } - case NSOrderedAscending: { - cell.today = NO; - cell.pastDate = NO; - break; - } - } - - if ((self.startDate && [cellDate compare:self.startDate] == NSOrderedAscending) || - (self.endDate && [cellDate compare:self.endDate] == NSOrderedDescending)) { - cell.outOfRange = YES; - } else { - cell.outOfRange = NO; - } - - cell.accessibilityLabel = [NSDateFormatter localizedStringFromDate:cellDate dateStyle:NSDateFormatterLongStyle timeStyle:NSDateFormatterNoStyle]; - } - - [cell setNeedsDisplay]; - - return cell; -} - -- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section -{ - return self.daysInWeek * [self numberOfWeeksForMonthOfDate:[self dateForFirstDayInSection:section]]; -} - -- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath -{ - if ([kind isEqualToString:UICollectionElementKindSectionHeader]) { - - RSDFDatePickerMonthHeader *monthHeader = [collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:RSDFDatePickerViewMonthHeaderIdentifier forIndexPath:indexPath]; - - NSString *dateFormatterName = [NSString stringWithFormat:@"calendarMonthHeader_%@_%@", [self.calendar calendarIdentifier], [[self.calendar locale] localeIdentifier]]; - NSDateFormatter *dateFormatter = [self.calendar df_dateFormatterNamed:dateFormatterName withConstructor:^{ - NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; - [dateFormatter setCalendar:self.calendar]; - [dateFormatter setLocale:[self.calendar locale]]; - return dateFormatter; - }]; - - NSDate *formattedDate = [self dateForFirstDayInSection:indexPath.section]; - RSDFDatePickerDate date = [self pickerDateFromDate:formattedDate]; - - monthHeader.date = date; - - NSString *monthString = [dateFormatter shortStandaloneMonthSymbols][date.month - 1]; - monthHeader.dateLabel.text = [[NSString stringWithFormat:@"%@ %tu", monthString, date.year] uppercaseString]; - - RSDFDatePickerDate today = [self pickerDateFromDate:_today]; - if ( (today.month == date.month) && (today.year == date.year) ) { - monthHeader.currentMonth = YES; - } else { - monthHeader.currentMonth = NO; - } - - return monthHeader; - - } - - return nil; -} - -- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView -{ - return [self.calendar components:NSCalendarUnitMonth fromDate:self.fromDate toDate:self.toDate options:0].month; -} - -#pragma mark - - -// We are cheating by piggybacking on view state to avoid recalculation -// in -collectionView:shouldHighlightItemAtIndexPath: -// and -collectionView:shouldSelectItemAtIndexPath:. - -// A naive refactoring process might introduce duplicate state which is bad too. - -- (void)collectionView:(UICollectionView *)collectionView didHighlightItemAtIndexPath:(NSIndexPath *)indexPath -{ - UICollectionViewCell *cell = [collectionView cellForItemAtIndexPath:indexPath]; - [cell setNeedsDisplay]; -} - -- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath -{ - NSDate *date = [self dateForCellAtIndexPath:indexPath]; - [self selectDate:date]; - - if ([self.delegate respondsToSelector:@selector(datePickerView:didSelectDate:)]) { - [self.delegate datePickerView:self didSelectDate:date]; - } -} - -- (void)collectionView:(UICollectionView *)collectionView didUnhighlightItemAtIndexPath:(NSIndexPath *)indexPath -{ - UICollectionViewCell *cell = [collectionView cellForItemAtIndexPath:indexPath]; - [cell setNeedsDisplay]; -} - -- (BOOL)collectionView:(UICollectionView *)collectionView shouldHighlightItemAtIndexPath:(NSIndexPath *)indexPath -{ - RSDFDatePickerDayCell *cell = (RSDFDatePickerDayCell *)[collectionView cellForItemAtIndexPath:indexPath]; - - if (cell.isNotThisMonth || cell.isOutOfRange) { - return NO; - } - - if ([self.delegate respondsToSelector:@selector(datePickerView:shouldHighlightDate:)]) { - NSDate *date = [self dateForCellAtIndexPath:indexPath]; - return [self.delegate datePickerView:self shouldHighlightDate:date]; - } - - return YES; -} - -- (BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath -{ - RSDFDatePickerDayCell *cell = ((RSDFDatePickerDayCell *)[self.collectionView cellForItemAtIndexPath:indexPath]); - - if (cell.isNotThisMonth || cell.isOutOfRange) { - return NO; - } - - if ([self.delegate respondsToSelector:@selector(datePickerView:shouldSelectDate:)]) { - NSDate *date = [self dateForCellAtIndexPath:indexPath]; - return [self.delegate datePickerView:self shouldSelectDate:date]; - } - - return YES; -} - -#pragma mark - - -- (CGSize)collectionView:(UICollectionView *)collectionView layout:(RSDFDatePickerCollectionViewLayout *)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section -{ - return [collectionViewLayout selfHeaderReferenceSize]; -} - -- (CGSize)collectionView:(UICollectionView *)collectionView layout:(RSDFDatePickerCollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath -{ - return [collectionViewLayout selfItemSize]; -} - -#pragma mark - - -- (void)pickerCollectionViewWillLayoutSubviews:(RSDFDatePickerCollectionView *)pickerCollectionView -{ - // Note: relayout is slower than calculating 3 or 6 months’ worth of data at a time - // So we punt 6 months at a time. - - // Running Time Self Symbol Name - // - // 1647.0ms 23.7% 1647.0 objc_msgSend - // 193.0ms 2.7% 193.0 -[NSIndexPath compare:] - // 163.0ms 2.3% 163.0 objc::DenseMap, objc::DenseMapInfo >::LookupBucketFor(objc_object* const&, std::pair*&) const - // 141.0ms 2.0% 141.0 DYLD-STUB$$-[_UIHostedTextServiceSession dismissTextServiceAnimated:] - // 138.0ms 1.9% 138.0 -[NSObject retain] - // 136.0ms 1.9% 136.0 -[NSIndexPath indexAtPosition:] - // 124.0ms 1.7% 124.0 -[_UICollectionViewItemKey isEqual:] - // 118.0ms 1.7% 118.0 _objc_rootReleaseWasZero - // 105.0ms 1.5% 105.0 DYLD-STUB$$CFDictionarySetValue$shim - - if (!self.startDate && pickerCollectionView.contentOffset.y < 0.0f) { - [self appendPastDates]; - } - - if (!self.endDate && pickerCollectionView.contentOffset.y > (pickerCollectionView.contentSize.height - CGRectGetHeight(pickerCollectionView.bounds))) { - [self appendFutureDates]; - } -} - -#pragma mark - - -- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView -{ - dispatch_async(dispatch_get_main_queue(), ^{ - if (self.isPagingEnabled) { - if (!self.startDate && scrollView.contentOffset.y < CGRectGetHeight(scrollView.bounds) * 2) { - [self appendPastDates]; - } - - if (!self.endDate && scrollView.contentOffset.y + CGRectGetHeight(scrollView.bounds) * 2 > scrollView.contentSize.height) { - [self appendFutureDates]; - } - } - }); -} - -- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset -{ - if (self.isPagingEnabled) { - NSArray *sortedIndexPathsForVisibleItems = [[self.collectionView indexPathsForVisibleItems] sortedArrayUsingComparator:^NSComparisonResult(NSIndexPath *obj1, NSIndexPath * obj2) { - return obj1.section > obj2.section; - }]; - - NSUInteger visibleSection; - NSUInteger nextSection; - if (velocity.y > 0.0) { - visibleSection = [[sortedIndexPathsForVisibleItems firstObject] section]; - - if (self.endDate && visibleSection >= [self sectionForDate:self.endDate]) { - nextSection = visibleSection; - } else { - nextSection = visibleSection + 1; - } - } else if (velocity.y < 0.0) { - visibleSection = [[sortedIndexPathsForVisibleItems lastObject] section]; - - if (self.startDate && visibleSection <= [self sectionForDate:self.startDate]) { - nextSection = visibleSection; - } else { - nextSection = visibleSection - 1; - } - } else { - visibleSection = [sortedIndexPathsForVisibleItems[sortedIndexPathsForVisibleItems.count / 2] section]; - nextSection = visibleSection; - } - - CGRect headerRect = [self frameForHeaderForSection:nextSection]; - CGPoint topOfHeader = CGPointMake(0, headerRect.origin.y - self.collectionView.contentInset.top); - CGFloat maxYContentOffset = self.collectionView.contentSize.height - CGRectGetHeight(self.collectionView.bounds); - if (topOfHeader.y > maxYContentOffset) { - topOfHeader.y = maxYContentOffset; - } - - *targetContentOffset = topOfHeader; - - scrollView.decelerationRate = UIScrollViewDecelerationRateFast; - } -} - -@end diff --git a/Example/Pods/RSDayFlow/RSDayFlow/RSDayFlow.h b/Example/Pods/RSDayFlow/RSDayFlow/RSDayFlow.h deleted file mode 100644 index 74b74d9..0000000 --- a/Example/Pods/RSDayFlow/RSDayFlow/RSDayFlow.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// RSDayFlow.h -// -// Copyright (c) 2013 Evadne Wu, http://radi.ws/ -// Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -/** - `RSDayFlow` is an iOS 7 Calendar with Infinite Scrolling. - */ - -#ifndef RSDayFlow_RSDayFlow_h -#define RSDayFlow_RSDayFlow_h - -#import -#import -#import -#import -#import -#import -#import -#import -#import - -#endif diff --git a/Example/Pods/RSDayFlow/RSDayFlow/module.modulemap b/Example/Pods/RSDayFlow/RSDayFlow/module.modulemap deleted file mode 100755 index 8508986..0000000 --- a/Example/Pods/RSDayFlow/RSDayFlow/module.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module RSDayFlow { - umbrella header "RSDayFlow.h" - - export * - module * { export * } -} diff --git a/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-acknowledgements.markdown deleted file mode 100644 index bc7562b..0000000 --- a/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-acknowledgements.markdown +++ /dev/null @@ -1,27 +0,0 @@ -# Acknowledgements -This application makes use of the following third party libraries: - -## RSDayFlow - -Copyright (c) 2013 Evadne Wu, http://radi.ws/ -Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com/ - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -Generated by CocoaPods - https://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-acknowledgements.plist deleted file mode 100644 index 8d6bff1..0000000 --- a/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-acknowledgements.plist +++ /dev/null @@ -1,57 +0,0 @@ - - - - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2013 Evadne Wu, http://radi.ws/ -Copyright (c) 2013-2016 Ruslan Skorb, http://ruslanskorb.com/ - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - Title - RSDayFlow - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - - diff --git a/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-dummy.m b/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-dummy.m deleted file mode 100644 index ec774be..0000000 --- a/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_RSDayFlowExample : NSObject -@end -@implementation PodsDummy_Pods_RSDayFlowExample -@end diff --git a/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-frameworks.sh b/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-frameworks.sh deleted file mode 100755 index 893c16a..0000000 --- a/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-frameworks.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/sh -set -e - -echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" -mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - -SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" - -install_framework() -{ - if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then - local source="${BUILT_PRODUCTS_DIR}/$1" - elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then - local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" - elif [ -r "$1" ]; then - local source="$1" - fi - - local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - - if [ -L "${source}" ]; then - echo "Symlinked..." - source="$(readlink "${source}")" - fi - - # use filter instead of exclude so missing patterns dont' throw errors - echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" - - local basename - basename="$(basename -s .framework "$1")" - binary="${destination}/${basename}.framework/${basename}" - if ! [ -r "$binary" ]; then - binary="${destination}/${basename}" - fi - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then - strip_invalid_archs "$binary" - fi - - # Resign the code if required by the build settings to avoid unstable apps - code_sign_if_enabled "${destination}/$(basename "$1")" - - # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. - if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) - for lib in $swift_runtime_libs; do - echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" - rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - code_sign_if_enabled "${destination}/${lib}" - done - fi -} - -# Signs a framework with the provided identity -code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\"" - /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1" - fi -} - -# Strip invalid architectures -strip_invalid_archs() { - binary="$1" - # Get architectures for current file - archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" - stripped="" - for arch in $archs; do - if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then - # Strip non-valid architectures in-place - lipo -remove "$arch" -output "$binary" "$binary" || exit 1 - stripped="$stripped $arch" - fi - done - if [[ "$stripped" ]]; then - echo "Stripped $binary of architectures:$stripped" - fi -} - diff --git a/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-resources.sh b/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-resources.sh deleted file mode 100755 index 0a15615..0000000 --- a/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-resources.sh +++ /dev/null @@ -1,102 +0,0 @@ -#!/bin/sh -set -e - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES=() - -case "${TARGETED_DEVICE_FAMILY}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; -esac - -realpath() { - DIRECTORY="$(cd "${1%/*}" && pwd)" - FILENAME="${1##*/}" - echo "$DIRECTORY/$FILENAME" -} - -install_resource() -{ - if [[ "$1" = /* ]] ; then - RESOURCE_PATH="$1" - else - RESOURCE_PATH="${PODS_ROOT}/$1" - fi - if [[ ! -e "$RESOURCE_PATH" ]] ; then - cat << EOM -error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. -EOM - exit 1 - fi - case $RESOURCE_PATH in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" - xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" - ;; - *.xcassets) - ABSOLUTE_XCASSET_FILE=$(realpath "$RESOURCE_PATH") - XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") - ;; - *) - echo "$RESOURCE_PATH" - echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then - mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] -then - # Find all other xcassets (this unfortunately includes those of path pods and other targets). - OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) - while read line; do - if [[ $line != "`realpath $PODS_ROOT`*" ]]; then - XCASSET_FILES+=("$line") - fi - done <<<"$OTHER_XCASSETS" - - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi diff --git a/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample.debug.xcconfig b/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample.debug.xcconfig deleted file mode 100644 index f71ec35..0000000 --- a/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample.debug.xcconfig +++ /dev/null @@ -1,8 +0,0 @@ -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RSDayFlow" -LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/RSDayFlow" -OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/RSDayFlow" -OTHER_LDFLAGS = $(inherited) -ObjC -l"RSDayFlow" -framework "QuartzCore" -framework "UIKit" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample.release.xcconfig b/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample.release.xcconfig deleted file mode 100644 index f71ec35..0000000 --- a/Example/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample.release.xcconfig +++ /dev/null @@ -1,8 +0,0 @@ -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RSDayFlow" -LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/RSDayFlow" -OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/RSDayFlow" -OTHER_LDFLAGS = $(inherited) -ObjC -l"RSDayFlow" -framework "QuartzCore" -framework "UIKit" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/RSDayFlow/RSDayFlow-dummy.m b/Example/Pods/Target Support Files/RSDayFlow/RSDayFlow-dummy.m deleted file mode 100644 index ef83c40..0000000 --- a/Example/Pods/Target Support Files/RSDayFlow/RSDayFlow-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_RSDayFlow : NSObject -@end -@implementation PodsDummy_RSDayFlow -@end diff --git a/Example/Pods/Target Support Files/RSDayFlow/RSDayFlow-prefix.pch b/Example/Pods/Target Support Files/RSDayFlow/RSDayFlow-prefix.pch deleted file mode 100644 index aa992a4..0000000 --- a/Example/Pods/Target Support Files/RSDayFlow/RSDayFlow-prefix.pch +++ /dev/null @@ -1,4 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - diff --git a/Example/Pods/Target Support Files/RSDayFlow/RSDayFlow.xcconfig b/Example/Pods/Target Support Files/RSDayFlow/RSDayFlow.xcconfig deleted file mode 100644 index e42b2bc..0000000 --- a/Example/Pods/Target Support Files/RSDayFlow/RSDayFlow.xcconfig +++ /dev/null @@ -1,9 +0,0 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RSDayFlow -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/RSDayFlow" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RSDayFlow" -OTHER_LDFLAGS = -framework "QuartzCore" -framework "UIKit" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES diff --git a/Example/RSDayFlowExample.xcodeproj/project.pbxproj b/Example/RSDayFlowExample.xcodeproj/project.pbxproj index c7d9117..59cba8f 100644 --- a/Example/RSDayFlowExample.xcodeproj/project.pbxproj +++ b/Example/RSDayFlowExample.xcodeproj/project.pbxproj @@ -7,7 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - 26C6174F9B8B7EF7021A3EAE /* libPods-RSDayFlowExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8368FB342F9349F8D7C5FE3C /* libPods-RSDayFlowExample.a */; }; B82FFFA519A37EDB000816FF /* RSDFCustomDatePickerCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = B82FFF9A19A37EDB000816FF /* RSDFCustomDatePickerCollectionView.m */; }; B82FFFA619A37EDB000816FF /* RSDFCustomDatePickerCollectionViewLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = B82FFF9C19A37EDB000816FF /* RSDFCustomDatePickerCollectionViewLayout.m */; }; B82FFFA719A37EDB000816FF /* RSDFCustomDatePickerDayCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B82FFF9E19A37EDB000816FF /* RSDFCustomDatePickerDayCell.m */; }; @@ -15,6 +14,13 @@ B82FFFA919A37EDB000816FF /* RSDFCustomDatePickerMonthHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = B82FFFA219A37EDB000816FF /* RSDFCustomDatePickerMonthHeader.m */; }; B82FFFAA19A37EDB000816FF /* RSDFCustomDatePickerView.m in Sources */ = {isa = PBXBuildFile; fileRef = B82FFFA419A37EDB000816FF /* RSDFCustomDatePickerView.m */; }; B872EE8319E82DF000E52146 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = B872EE8119E82DF000E52146 /* LaunchScreen.xib */; }; + B89C2AF21DCC5571005710E0 /* NSCalendar+RSDFAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = B89C2AE21DCC5571005710E0 /* NSCalendar+RSDFAdditions.m */; }; + B89C2AF31DCC5571005710E0 /* RSDFDatePickerCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = B89C2AE51DCC5571005710E0 /* RSDFDatePickerCollectionView.m */; }; + B89C2AF41DCC5571005710E0 /* RSDFDatePickerCollectionViewLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = B89C2AE71DCC5571005710E0 /* RSDFDatePickerCollectionViewLayout.m */; }; + B89C2AF51DCC5571005710E0 /* RSDFDatePickerDayCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B89C2AEA1DCC5571005710E0 /* RSDFDatePickerDayCell.m */; }; + B89C2AF61DCC5571005710E0 /* RSDFDatePickerDaysOfWeekView.m in Sources */ = {isa = PBXBuildFile; fileRef = B89C2AEC1DCC5571005710E0 /* RSDFDatePickerDaysOfWeekView.m */; }; + B89C2AF71DCC5571005710E0 /* RSDFDatePickerMonthHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = B89C2AEE1DCC5571005710E0 /* RSDFDatePickerMonthHeader.m */; }; + B89C2AF81DCC5571005710E0 /* RSDFDatePickerView.m in Sources */ = {isa = PBXBuildFile; fileRef = B89C2AF11DCC5571005710E0 /* RSDFDatePickerView.m */; }; B8F807C119A34B990047C24B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B8F807C019A34B990047C24B /* Foundation.framework */; }; B8F807C319A34B9A0047C24B /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B8F807C219A34B9A0047C24B /* CoreGraphics.framework */; }; B8F807C519A34B9A0047C24B /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B8F807C419A34B9A0047C24B /* UIKit.framework */; }; @@ -41,10 +47,6 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 4C53D902E48EA751AE6E1C15 /* Pods-RSDayFlowExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RSDayFlowExample.release.xcconfig"; path = "Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample.release.xcconfig"; sourceTree = ""; }; - 51F89F985060E37EB33750EF /* libPods-RSDayFlowExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RSDayFlowExampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 7E6CFEE0DB45FD233F562BAD /* Pods-RSDayFlowExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RSDayFlowExample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample.debug.xcconfig"; sourceTree = ""; }; - 8368FB342F9349F8D7C5FE3C /* libPods-RSDayFlowExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RSDayFlowExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; B82FFF9919A37EDB000816FF /* RSDFCustomDatePickerCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RSDFCustomDatePickerCollectionView.h; sourceTree = ""; }; B82FFF9A19A37EDB000816FF /* RSDFCustomDatePickerCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RSDFCustomDatePickerCollectionView.m; sourceTree = ""; }; B82FFF9B19A37EDB000816FF /* RSDFCustomDatePickerCollectionViewLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RSDFCustomDatePickerCollectionViewLayout.h; sourceTree = ""; }; @@ -58,6 +60,23 @@ B82FFFA319A37EDB000816FF /* RSDFCustomDatePickerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RSDFCustomDatePickerView.h; sourceTree = ""; }; B82FFFA419A37EDB000816FF /* RSDFCustomDatePickerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RSDFCustomDatePickerView.m; sourceTree = ""; }; B872EE8219E82DF000E52146 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; + B89C2AE11DCC5571005710E0 /* NSCalendar+RSDFAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSCalendar+RSDFAdditions.h"; sourceTree = ""; }; + B89C2AE21DCC5571005710E0 /* NSCalendar+RSDFAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSCalendar+RSDFAdditions.m"; sourceTree = ""; }; + B89C2AE31DCC5571005710E0 /* RSDayFlow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RSDayFlow.h; sourceTree = ""; }; + B89C2AE41DCC5571005710E0 /* RSDFDatePickerCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RSDFDatePickerCollectionView.h; sourceTree = ""; }; + B89C2AE51DCC5571005710E0 /* RSDFDatePickerCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RSDFDatePickerCollectionView.m; sourceTree = ""; }; + B89C2AE61DCC5571005710E0 /* RSDFDatePickerCollectionViewLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RSDFDatePickerCollectionViewLayout.h; sourceTree = ""; }; + B89C2AE71DCC5571005710E0 /* RSDFDatePickerCollectionViewLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RSDFDatePickerCollectionViewLayout.m; sourceTree = ""; }; + B89C2AE81DCC5571005710E0 /* RSDFDatePickerDate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RSDFDatePickerDate.h; sourceTree = ""; }; + B89C2AE91DCC5571005710E0 /* RSDFDatePickerDayCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RSDFDatePickerDayCell.h; sourceTree = ""; }; + B89C2AEA1DCC5571005710E0 /* RSDFDatePickerDayCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RSDFDatePickerDayCell.m; sourceTree = ""; }; + B89C2AEB1DCC5571005710E0 /* RSDFDatePickerDaysOfWeekView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RSDFDatePickerDaysOfWeekView.h; sourceTree = ""; }; + B89C2AEC1DCC5571005710E0 /* RSDFDatePickerDaysOfWeekView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RSDFDatePickerDaysOfWeekView.m; sourceTree = ""; }; + B89C2AED1DCC5571005710E0 /* RSDFDatePickerMonthHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RSDFDatePickerMonthHeader.h; sourceTree = ""; }; + B89C2AEE1DCC5571005710E0 /* RSDFDatePickerMonthHeader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RSDFDatePickerMonthHeader.m; sourceTree = ""; }; + B89C2AEF1DCC5571005710E0 /* RSDFDatePickerView+Protected.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "RSDFDatePickerView+Protected.h"; sourceTree = ""; }; + B89C2AF01DCC5571005710E0 /* RSDFDatePickerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RSDFDatePickerView.h; sourceTree = ""; }; + B89C2AF11DCC5571005710E0 /* RSDFDatePickerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RSDFDatePickerView.m; sourceTree = ""; }; B8F807BD19A34B990047C24B /* RSDayFlowExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RSDayFlowExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; B8F807C019A34B990047C24B /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; B8F807C219A34B9A0047C24B /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; @@ -86,7 +105,6 @@ B8F807C319A34B9A0047C24B /* CoreGraphics.framework in Frameworks */, B8F807C519A34B9A0047C24B /* UIKit.framework in Frameworks */, B8F807C119A34B990047C24B /* Foundation.framework in Frameworks */, - 26C6174F9B8B7EF7021A3EAE /* libPods-RSDayFlowExample.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,15 +121,6 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 95F8F49285E6115137CA4747 /* Pods */ = { - isa = PBXGroup; - children = ( - 7E6CFEE0DB45FD233F562BAD /* Pods-RSDayFlowExample.debug.xcconfig */, - 4C53D902E48EA751AE6E1C15 /* Pods-RSDayFlowExample.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; B82FFFAB19A37EDF000816FF /* Views */ = { isa = PBXGroup; children = ( @@ -131,14 +140,47 @@ name = Views; sourceTree = ""; }; + B89C2ADC1DCC552E005710E0 /* Vendor */ = { + isa = PBXGroup; + children = ( + B89C2ADF1DCC5571005710E0 /* RSDayFlow */, + ); + name = Vendor; + sourceTree = ""; + }; + B89C2ADF1DCC5571005710E0 /* RSDayFlow */ = { + isa = PBXGroup; + children = ( + B89C2AE11DCC5571005710E0 /* NSCalendar+RSDFAdditions.h */, + B89C2AE21DCC5571005710E0 /* NSCalendar+RSDFAdditions.m */, + B89C2AE31DCC5571005710E0 /* RSDayFlow.h */, + B89C2AE41DCC5571005710E0 /* RSDFDatePickerCollectionView.h */, + B89C2AE51DCC5571005710E0 /* RSDFDatePickerCollectionView.m */, + B89C2AE61DCC5571005710E0 /* RSDFDatePickerCollectionViewLayout.h */, + B89C2AE71DCC5571005710E0 /* RSDFDatePickerCollectionViewLayout.m */, + B89C2AE81DCC5571005710E0 /* RSDFDatePickerDate.h */, + B89C2AE91DCC5571005710E0 /* RSDFDatePickerDayCell.h */, + B89C2AEA1DCC5571005710E0 /* RSDFDatePickerDayCell.m */, + B89C2AEB1DCC5571005710E0 /* RSDFDatePickerDaysOfWeekView.h */, + B89C2AEC1DCC5571005710E0 /* RSDFDatePickerDaysOfWeekView.m */, + B89C2AED1DCC5571005710E0 /* RSDFDatePickerMonthHeader.h */, + B89C2AEE1DCC5571005710E0 /* RSDFDatePickerMonthHeader.m */, + B89C2AEF1DCC5571005710E0 /* RSDFDatePickerView+Protected.h */, + B89C2AF01DCC5571005710E0 /* RSDFDatePickerView.h */, + B89C2AF11DCC5571005710E0 /* RSDFDatePickerView.m */, + ); + name = RSDayFlow; + path = ../RSDayFlow; + sourceTree = ""; + }; B8F807B419A34B990047C24B = { isa = PBXGroup; children = ( B8F807C619A34B9A0047C24B /* Classes */, + B89C2ADC1DCC552E005710E0 /* Vendor */, B8F807DF19A34B9A0047C24B /* RSDayFlowExampleTests */, B8F807BF19A34B990047C24B /* Frameworks */, B8F807BE19A34B990047C24B /* Products */, - 95F8F49285E6115137CA4747 /* Pods */, ); sourceTree = ""; }; @@ -158,8 +200,6 @@ B8F807C219A34B9A0047C24B /* CoreGraphics.framework */, B8F807C419A34B9A0047C24B /* UIKit.framework */, B8F807D919A34B9A0047C24B /* XCTest.framework */, - 8368FB342F9349F8D7C5FE3C /* libPods-RSDayFlowExample.a */, - 51F89F985060E37EB33750EF /* libPods-RSDayFlowExampleTests.a */, ); name = Frameworks; sourceTree = ""; @@ -224,12 +264,9 @@ isa = PBXNativeTarget; buildConfigurationList = B8F807E919A34B9A0047C24B /* Build configuration list for PBXNativeTarget "RSDayFlowExample" */; buildPhases = ( - 7112576476D439381981B20C /* [CP] Check Pods Manifest.lock */, B8F807B919A34B990047C24B /* Sources */, B8F807BA19A34B990047C24B /* Frameworks */, B8F807BB19A34B990047C24B /* Resources */, - 1FD9FF1ED321FD63C58C2F01 /* [CP] Embed Pods Frameworks */, - 59B946013087A25E31C7FAE3 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -313,54 +350,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 1FD9FF1ED321FD63C58C2F01 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 59B946013087A25E31C7FAE3 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-RSDayFlowExample/Pods-RSDayFlowExample-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 7112576476D439381981B20C /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ B8F807B919A34B990047C24B /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -369,12 +358,19 @@ B82FFFA619A37EDB000816FF /* RSDFCustomDatePickerCollectionViewLayout.m in Sources */, B82FFFA519A37EDB000816FF /* RSDFCustomDatePickerCollectionView.m in Sources */, B82FFFA919A37EDB000816FF /* RSDFCustomDatePickerMonthHeader.m in Sources */, + B89C2AF61DCC5571005710E0 /* RSDFDatePickerDaysOfWeekView.m in Sources */, + B89C2AF21DCC5571005710E0 /* NSCalendar+RSDFAdditions.m in Sources */, + B89C2AF81DCC5571005710E0 /* RSDFDatePickerView.m in Sources */, + B89C2AF51DCC5571005710E0 /* RSDFDatePickerDayCell.m in Sources */, B8F807CD19A34B9A0047C24B /* main.m in Sources */, B82FFFA819A37EDB000816FF /* RSDFCustomDatePickerDaysOfWeekView.m in Sources */, B82FFFAA19A37EDB000816FF /* RSDFCustomDatePickerView.m in Sources */, B8F8080819A34CDC0047C24B /* RSDFDatePickerViewController.m in Sources */, + B89C2AF71DCC5571005710E0 /* RSDFDatePickerMonthHeader.m in Sources */, B82FFFA719A37EDB000816FF /* RSDFCustomDatePickerDayCell.m in Sources */, B8F807D119A34B9A0047C24B /* RSDFAppDelegate.m in Sources */, + B89C2AF31DCC5571005710E0 /* RSDFDatePickerCollectionView.m in Sources */, + B89C2AF41DCC5571005710E0 /* RSDFDatePickerCollectionViewLayout.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -458,6 +454,10 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/../", + ); IPHONEOS_DEPLOYMENT_TARGET = 7.0; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -490,6 +490,10 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/../", + ); IPHONEOS_DEPLOYMENT_TARGET = 7.0; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; @@ -498,7 +502,6 @@ }; B8F807EA19A34B9A0047C24B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7E6CFEE0DB45FD233F562BAD /* Pods-RSDayFlowExample.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -514,7 +517,6 @@ }; B8F807EB19A34B9A0047C24B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4C53D902E48EA751AE6E1C15 /* Pods-RSDayFlowExample.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; diff --git a/Example/RSDayFlowExample.xcworkspace/contents.xcworkspacedata b/Example/RSDayFlowExample.xcworkspace/contents.xcworkspacedata index 26d6052..9fc952b 100644 --- a/Example/RSDayFlowExample.xcworkspace/contents.xcworkspacedata +++ b/Example/RSDayFlowExample.xcworkspace/contents.xcworkspacedata @@ -4,7 +4,4 @@ - - diff --git a/Example/RSDayFlowExample/Images.xcassets/AppIcon.appiconset/Contents.json b/Example/RSDayFlowExample/Images.xcassets/AppIcon.appiconset/Contents.json index a396706..118c98f 100644 --- a/Example/RSDayFlowExample/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/Example/RSDayFlowExample/Images.xcassets/AppIcon.appiconset/Contents.json @@ -5,15 +5,30 @@ "size" : "29x29", "scale" : "2x" }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, { "idiom" : "iphone", "size" : "40x40", "scale" : "2x" }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, { "idiom" : "iphone", "size" : "60x60", "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" } ], "info" : {