From 826341044bb101a8487593e27252c695e8f8ff32 Mon Sep 17 00:00:00 2001 From: Kushagra Agarwal Date: Fri, 8 May 2020 13:43:26 +0530 Subject: [PATCH 1/8] add calendar willScroll to triggerdelegate --- JTAppleCalendar.xcodeproj/project.pbxproj | 432 ------------------ .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcschemes/JTAppleCalendar.xcscheme | 67 --- 4 files changed, 514 deletions(-) delete mode 100644 JTAppleCalendar.xcodeproj/project.pbxproj delete mode 100644 JTAppleCalendar.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 JTAppleCalendar.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 JTAppleCalendar.xcodeproj/xcshareddata/xcschemes/JTAppleCalendar.xcscheme diff --git a/JTAppleCalendar.xcodeproj/project.pbxproj b/JTAppleCalendar.xcodeproj/project.pbxproj deleted file mode 100644 index dfc45cb6..00000000 --- a/JTAppleCalendar.xcodeproj/project.pbxproj +++ /dev/null @@ -1,432 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 3B8DA771233A359100A95526 /* JTACMonthReusableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA758233A358F00A95526 /* JTACMonthReusableView.swift */; }; - 3B8DA772233A359100A95526 /* JTACYearViewProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA759233A358F00A95526 /* JTACYearViewProtocols.swift */; }; - 3B8DA773233A359100A95526 /* JTACMonthView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA75A233A359000A95526 /* JTACMonthView.swift */; }; - 3B8DA774233A359100A95526 /* CalendarStructs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA75B233A359000A95526 /* CalendarStructs.swift */; }; - 3B8DA775233A359100A95526 /* JTACMonthActionFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA75C233A359000A95526 /* JTACMonthActionFunctions.swift */; }; - 3B8DA776233A359100A95526 /* JTACMonthLayoutProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA75D233A359000A95526 /* JTACMonthLayoutProtocol.swift */; }; - 3B8DA777233A359100A95526 /* JTACInteractionYearFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA75E233A359000A95526 /* JTACInteractionYearFunctions.swift */; }; - 3B8DA778233A359100A95526 /* JTACYearView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA75F233A359000A95526 /* JTACYearView.swift */; }; - 3B8DA779233A359100A95526 /* JTAppleCalendar.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B8DA760233A359000A95526 /* JTAppleCalendar.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3B8DA77A233A359100A95526 /* JTACMonthLayoutVerticalCalendar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA761233A359000A95526 /* JTACMonthLayoutVerticalCalendar.swift */; }; - 3B8DA77B233A359100A95526 /* JTACMonthDelegateProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA762233A359000A95526 /* JTACMonthDelegateProtocol.swift */; }; - 3B8DA77C233A359100A95526 /* JTACDayCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA763233A359000A95526 /* JTACDayCell.swift */; }; - 3B8DA77D233A359100A95526 /* JTACMonthLayoutHorizontalCalendar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA764233A359000A95526 /* JTACMonthLayoutHorizontalCalendar.swift */; }; - 3B8DA77E233A359100A95526 /* JTACMonthViewProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA765233A359000A95526 /* JTACMonthViewProtocols.swift */; }; - 3B8DA77F233A359100A95526 /* JTACCollectionMonthViewDelegates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA766233A359000A95526 /* JTACCollectionMonthViewDelegates.swift */; }; - 3B8DA780233A359100A95526 /* GlobalFunctionsAndExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA767233A359000A95526 /* GlobalFunctionsAndExtensions.swift */; }; - 3B8DA781233A359100A95526 /* JTACInteractionMonthFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA768233A359000A95526 /* JTACInteractionMonthFunctions.swift */; }; - 3B8DA782233A359100A95526 /* JTACScrollViewDelegates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA769233A359000A95526 /* JTACScrollViewDelegates.swift */; }; - 3B8DA784233A359100A95526 /* JTACCollectionYearViewDelegates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA76B233A359000A95526 /* JTACCollectionYearViewDelegates.swift */; }; - 3B8DA785233A359100A95526 /* JTACMonthCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA76C233A359000A95526 /* JTACMonthCell.swift */; }; - 3B8DA786233A359100A95526 /* JTACMonthLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA76D233A359000A95526 /* JTACMonthLayout.swift */; }; - 3B8DA787233A359100A95526 /* CalendarEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA76E233A359000A95526 /* CalendarEnums.swift */; }; - 3B8DA788233A359100A95526 /* JTACMonthQueryFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA76F233A359000A95526 /* JTACMonthQueryFunctions.swift */; }; - 3B8DA789233A359100A95526 /* JTACVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA770233A359100A95526 /* JTACVariables.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 3B8DA758233A358F00A95526 /* JTACMonthReusableView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthReusableView.swift; path = Sources/JTAppleCalendar/JTACMonthReusableView.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA759233A358F00A95526 /* JTACYearViewProtocols.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACYearViewProtocols.swift; path = Sources/JTAppleCalendar/JTACYearViewProtocols.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA75A233A359000A95526 /* JTACMonthView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthView.swift; path = Sources/JTAppleCalendar/JTACMonthView.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA75B233A359000A95526 /* CalendarStructs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CalendarStructs.swift; path = Sources/JTAppleCalendar/CalendarStructs.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA75C233A359000A95526 /* JTACMonthActionFunctions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthActionFunctions.swift; path = Sources/JTAppleCalendar/JTACMonthActionFunctions.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA75D233A359000A95526 /* JTACMonthLayoutProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthLayoutProtocol.swift; path = Sources/JTAppleCalendar/JTACMonthLayoutProtocol.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA75E233A359000A95526 /* JTACInteractionYearFunctions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACInteractionYearFunctions.swift; path = Sources/JTAppleCalendar/JTACInteractionYearFunctions.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA75F233A359000A95526 /* JTACYearView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACYearView.swift; path = Sources/JTAppleCalendar/JTACYearView.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA760233A359000A95526 /* JTAppleCalendar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JTAppleCalendar.h; path = Sources/JTAppleCalendar/JTAppleCalendar.h; sourceTree = SOURCE_ROOT; }; - 3B8DA761233A359000A95526 /* JTACMonthLayoutVerticalCalendar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthLayoutVerticalCalendar.swift; path = Sources/JTAppleCalendar/JTACMonthLayoutVerticalCalendar.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA762233A359000A95526 /* JTACMonthDelegateProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthDelegateProtocol.swift; path = Sources/JTAppleCalendar/JTACMonthDelegateProtocol.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA763233A359000A95526 /* JTACDayCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACDayCell.swift; path = Sources/JTAppleCalendar/JTACDayCell.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA764233A359000A95526 /* JTACMonthLayoutHorizontalCalendar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthLayoutHorizontalCalendar.swift; path = Sources/JTAppleCalendar/JTACMonthLayoutHorizontalCalendar.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA765233A359000A95526 /* JTACMonthViewProtocols.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthViewProtocols.swift; path = Sources/JTAppleCalendar/JTACMonthViewProtocols.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA766233A359000A95526 /* JTACCollectionMonthViewDelegates.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACCollectionMonthViewDelegates.swift; path = Sources/JTAppleCalendar/JTACCollectionMonthViewDelegates.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA767233A359000A95526 /* GlobalFunctionsAndExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = GlobalFunctionsAndExtensions.swift; path = Sources/JTAppleCalendar/GlobalFunctionsAndExtensions.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA768233A359000A95526 /* JTACInteractionMonthFunctions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACInteractionMonthFunctions.swift; path = Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA769233A359000A95526 /* JTACScrollViewDelegates.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACScrollViewDelegates.swift; path = Sources/JTAppleCalendar/JTACScrollViewDelegates.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA76A233A359000A95526 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = Sources/JTAppleCalendar/Info.plist; sourceTree = SOURCE_ROOT; }; - 3B8DA76B233A359000A95526 /* JTACCollectionYearViewDelegates.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACCollectionYearViewDelegates.swift; path = Sources/JTAppleCalendar/JTACCollectionYearViewDelegates.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA76C233A359000A95526 /* JTACMonthCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthCell.swift; path = Sources/JTAppleCalendar/JTACMonthCell.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA76D233A359000A95526 /* JTACMonthLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthLayout.swift; path = Sources/JTAppleCalendar/JTACMonthLayout.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA76E233A359000A95526 /* CalendarEnums.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CalendarEnums.swift; path = Sources/JTAppleCalendar/CalendarEnums.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA76F233A359000A95526 /* JTACMonthQueryFunctions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthQueryFunctions.swift; path = Sources/JTAppleCalendar/JTACMonthQueryFunctions.swift; sourceTree = SOURCE_ROOT; }; - 3B8DA770233A359100A95526 /* JTACVariables.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACVariables.swift; path = Sources/JTAppleCalendar/JTACVariables.swift; sourceTree = SOURCE_ROOT; }; - 3BE7994F233A346B00A37CA8 /* JTAppleCalendar.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = JTAppleCalendar.framework; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 3BE7994C233A346B00A37CA8 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 3BE79945233A346B00A37CA8 = { - isa = PBXGroup; - children = ( - 3BE79951233A346B00A37CA8 /* JTAppleCalendar */, - 3BE79950233A346B00A37CA8 /* Products */, - ); - sourceTree = ""; - }; - 3BE79950233A346B00A37CA8 /* Products */ = { - isa = PBXGroup; - children = ( - 3BE7994F233A346B00A37CA8 /* JTAppleCalendar.framework */, - ); - name = Products; - sourceTree = ""; - }; - 3BE79951233A346B00A37CA8 /* JTAppleCalendar */ = { - isa = PBXGroup; - children = ( - 3B8DA76E233A359000A95526 /* CalendarEnums.swift */, - 3B8DA75B233A359000A95526 /* CalendarStructs.swift */, - 3B8DA767233A359000A95526 /* GlobalFunctionsAndExtensions.swift */, - 3B8DA76A233A359000A95526 /* Info.plist */, - 3B8DA766233A359000A95526 /* JTACCollectionMonthViewDelegates.swift */, - 3B8DA76B233A359000A95526 /* JTACCollectionYearViewDelegates.swift */, - 3B8DA763233A359000A95526 /* JTACDayCell.swift */, - 3B8DA768233A359000A95526 /* JTACInteractionMonthFunctions.swift */, - 3B8DA75E233A359000A95526 /* JTACInteractionYearFunctions.swift */, - 3B8DA75C233A359000A95526 /* JTACMonthActionFunctions.swift */, - 3B8DA76C233A359000A95526 /* JTACMonthCell.swift */, - 3B8DA762233A359000A95526 /* JTACMonthDelegateProtocol.swift */, - 3B8DA76D233A359000A95526 /* JTACMonthLayout.swift */, - 3B8DA764233A359000A95526 /* JTACMonthLayoutHorizontalCalendar.swift */, - 3B8DA75D233A359000A95526 /* JTACMonthLayoutProtocol.swift */, - 3B8DA761233A359000A95526 /* JTACMonthLayoutVerticalCalendar.swift */, - 3B8DA76F233A359000A95526 /* JTACMonthQueryFunctions.swift */, - 3B8DA758233A358F00A95526 /* JTACMonthReusableView.swift */, - 3B8DA75A233A359000A95526 /* JTACMonthView.swift */, - 3B8DA765233A359000A95526 /* JTACMonthViewProtocols.swift */, - 3B8DA769233A359000A95526 /* JTACScrollViewDelegates.swift */, - 3B8DA770233A359100A95526 /* JTACVariables.swift */, - 3B8DA75F233A359000A95526 /* JTACYearView.swift */, - 3B8DA759233A358F00A95526 /* JTACYearViewProtocols.swift */, - 3B8DA760233A359000A95526 /* JTAppleCalendar.h */, - ); - path = JTAppleCalendar; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 3BE7994A233A346B00A37CA8 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 3B8DA779233A359100A95526 /* JTAppleCalendar.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 3BE7994E233A346B00A37CA8 /* JTAppleCalendar */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3BE79957233A346B00A37CA8 /* Build configuration list for PBXNativeTarget "JTAppleCalendar" */; - buildPhases = ( - 3BE7994A233A346B00A37CA8 /* Headers */, - 3BE7994B233A346B00A37CA8 /* Sources */, - 3BE7994C233A346B00A37CA8 /* Frameworks */, - 3BE7994D233A346B00A37CA8 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = JTAppleCalendar; - productName = JTAppleCalendar; - productReference = 3BE7994F233A346B00A37CA8 /* JTAppleCalendar.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 3BE79946233A346B00A37CA8 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1100; - ORGANIZATIONNAME = "Arnaud Boudou"; - TargetAttributes = { - 3BE7994E233A346B00A37CA8 = { - CreatedOnToolsVersion = 11.0; - LastSwiftMigration = 1100; - }; - }; - }; - buildConfigurationList = 3BE79949233A346B00A37CA8 /* Build configuration list for PBXProject "JTAppleCalendar" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 3BE79945233A346B00A37CA8; - productRefGroup = 3BE79950233A346B00A37CA8 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 3BE7994E233A346B00A37CA8 /* JTAppleCalendar */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 3BE7994D233A346B00A37CA8 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 3BE7994B233A346B00A37CA8 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3B8DA77D233A359100A95526 /* JTACMonthLayoutHorizontalCalendar.swift in Sources */, - 3B8DA787233A359100A95526 /* CalendarEnums.swift in Sources */, - 3B8DA775233A359100A95526 /* JTACMonthActionFunctions.swift in Sources */, - 3B8DA784233A359100A95526 /* JTACCollectionYearViewDelegates.swift in Sources */, - 3B8DA77E233A359100A95526 /* JTACMonthViewProtocols.swift in Sources */, - 3B8DA789233A359100A95526 /* JTACVariables.swift in Sources */, - 3B8DA788233A359100A95526 /* JTACMonthQueryFunctions.swift in Sources */, - 3B8DA771233A359100A95526 /* JTACMonthReusableView.swift in Sources */, - 3B8DA777233A359100A95526 /* JTACInteractionYearFunctions.swift in Sources */, - 3B8DA782233A359100A95526 /* JTACScrollViewDelegates.swift in Sources */, - 3B8DA77C233A359100A95526 /* JTACDayCell.swift in Sources */, - 3B8DA778233A359100A95526 /* JTACYearView.swift in Sources */, - 3B8DA781233A359100A95526 /* JTACInteractionMonthFunctions.swift in Sources */, - 3B8DA786233A359100A95526 /* JTACMonthLayout.swift in Sources */, - 3B8DA773233A359100A95526 /* JTACMonthView.swift in Sources */, - 3B8DA785233A359100A95526 /* JTACMonthCell.swift in Sources */, - 3B8DA77F233A359100A95526 /* JTACCollectionMonthViewDelegates.swift in Sources */, - 3B8DA77A233A359100A95526 /* JTACMonthLayoutVerticalCalendar.swift in Sources */, - 3B8DA774233A359100A95526 /* CalendarStructs.swift in Sources */, - 3B8DA776233A359100A95526 /* JTACMonthLayoutProtocol.swift in Sources */, - 3B8DA772233A359100A95526 /* JTACYearViewProtocols.swift in Sources */, - 3B8DA77B233A359100A95526 /* JTACMonthDelegateProtocol.swift in Sources */, - 3B8DA780233A359100A95526 /* GlobalFunctionsAndExtensions.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 3BE79955233A346B00A37CA8 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 3BE79956233A346B00A37CA8 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 3BE79958233A346B00A37CA8 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = GBBYECNDQ9; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Sources/JTAppleCalendar/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.patchthecode.JTAppleCalendar; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SUPPORTS_MACCATALYST = NO; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 3BE79959233A346B00A37CA8 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = GBBYECNDQ9; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Sources/JTAppleCalendar/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.patchthecode.JTAppleCalendar; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SUPPORTS_MACCATALYST = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 3BE79949233A346B00A37CA8 /* Build configuration list for PBXProject "JTAppleCalendar" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3BE79955233A346B00A37CA8 /* Debug */, - 3BE79956233A346B00A37CA8 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 3BE79957233A346B00A37CA8 /* Build configuration list for PBXNativeTarget "JTAppleCalendar" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3BE79958233A346B00A37CA8 /* Debug */, - 3BE79959233A346B00A37CA8 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 3BE79946233A346B00A37CA8 /* Project object */; -} diff --git a/JTAppleCalendar.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/JTAppleCalendar.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 4d4178d4..00000000 --- a/JTAppleCalendar.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/JTAppleCalendar.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/JTAppleCalendar.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/JTAppleCalendar.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/JTAppleCalendar.xcodeproj/xcshareddata/xcschemes/JTAppleCalendar.xcscheme b/JTAppleCalendar.xcodeproj/xcshareddata/xcschemes/JTAppleCalendar.xcscheme deleted file mode 100644 index 082b53bd..00000000 --- a/JTAppleCalendar.xcodeproj/xcshareddata/xcschemes/JTAppleCalendar.xcscheme +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - From 9c3472eb35f7588f72c80cbd991881a1e635088f Mon Sep 17 00:00:00 2001 From: Kushagra Agarwal Date: Fri, 8 May 2020 13:48:50 +0530 Subject: [PATCH 2/8] final fix --- JTAppleCalendar.xcodeproj/project.pbxproj | 432 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcschemes/JTAppleCalendar.xcscheme | 67 +++ .../JTACMonthActionFunctions.swift | 1 + .../JTACScrollViewDelegates.swift | 14 +- 6 files changed, 527 insertions(+), 2 deletions(-) create mode 100644 JTAppleCalendar.xcodeproj/project.pbxproj create mode 100644 JTAppleCalendar.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 JTAppleCalendar.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 JTAppleCalendar.xcodeproj/xcshareddata/xcschemes/JTAppleCalendar.xcscheme diff --git a/JTAppleCalendar.xcodeproj/project.pbxproj b/JTAppleCalendar.xcodeproj/project.pbxproj new file mode 100644 index 00000000..35d4a043 --- /dev/null +++ b/JTAppleCalendar.xcodeproj/project.pbxproj @@ -0,0 +1,432 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + 3B8DA771233A359100A95526 /* JTACMonthReusableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA758233A358F00A95526 /* JTACMonthReusableView.swift */; }; + 3B8DA772233A359100A95526 /* JTACYearViewProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA759233A358F00A95526 /* JTACYearViewProtocols.swift */; }; + 3B8DA773233A359100A95526 /* JTACMonthView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA75A233A359000A95526 /* JTACMonthView.swift */; }; + 3B8DA774233A359100A95526 /* CalendarStructs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA75B233A359000A95526 /* CalendarStructs.swift */; }; + 3B8DA775233A359100A95526 /* JTACMonthActionFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA75C233A359000A95526 /* JTACMonthActionFunctions.swift */; }; + 3B8DA776233A359100A95526 /* JTACMonthLayoutProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA75D233A359000A95526 /* JTACMonthLayoutProtocol.swift */; }; + 3B8DA777233A359100A95526 /* JTACInteractionYearFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA75E233A359000A95526 /* JTACInteractionYearFunctions.swift */; }; + 3B8DA778233A359100A95526 /* JTACYearView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA75F233A359000A95526 /* JTACYearView.swift */; }; + 3B8DA779233A359100A95526 /* JTAppleCalendar.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B8DA760233A359000A95526 /* JTAppleCalendar.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3B8DA77A233A359100A95526 /* JTACMonthLayoutVerticalCalendar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA761233A359000A95526 /* JTACMonthLayoutVerticalCalendar.swift */; }; + 3B8DA77B233A359100A95526 /* JTACMonthDelegateProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA762233A359000A95526 /* JTACMonthDelegateProtocol.swift */; }; + 3B8DA77C233A359100A95526 /* JTACDayCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA763233A359000A95526 /* JTACDayCell.swift */; }; + 3B8DA77D233A359100A95526 /* JTACMonthLayoutHorizontalCalendar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA764233A359000A95526 /* JTACMonthLayoutHorizontalCalendar.swift */; }; + 3B8DA77E233A359100A95526 /* JTACMonthViewProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA765233A359000A95526 /* JTACMonthViewProtocols.swift */; }; + 3B8DA77F233A359100A95526 /* JTACCollectionMonthViewDelegates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA766233A359000A95526 /* JTACCollectionMonthViewDelegates.swift */; }; + 3B8DA780233A359100A95526 /* GlobalFunctionsAndExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA767233A359000A95526 /* GlobalFunctionsAndExtensions.swift */; }; + 3B8DA781233A359100A95526 /* JTACInteractionMonthFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA768233A359000A95526 /* JTACInteractionMonthFunctions.swift */; }; + 3B8DA782233A359100A95526 /* JTACScrollViewDelegates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA769233A359000A95526 /* JTACScrollViewDelegates.swift */; }; + 3B8DA784233A359100A95526 /* JTACCollectionYearViewDelegates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA76B233A359000A95526 /* JTACCollectionYearViewDelegates.swift */; }; + 3B8DA785233A359100A95526 /* JTACMonthCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA76C233A359000A95526 /* JTACMonthCell.swift */; }; + 3B8DA786233A359100A95526 /* JTACMonthLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA76D233A359000A95526 /* JTACMonthLayout.swift */; }; + 3B8DA787233A359100A95526 /* CalendarEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA76E233A359000A95526 /* CalendarEnums.swift */; }; + 3B8DA788233A359100A95526 /* JTACMonthQueryFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA76F233A359000A95526 /* JTACMonthQueryFunctions.swift */; }; + 3B8DA789233A359100A95526 /* JTACVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8DA770233A359100A95526 /* JTACVariables.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 3B8DA758233A358F00A95526 /* JTACMonthReusableView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthReusableView.swift; path = Sources/JTAppleCalendar/JTACMonthReusableView.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA759233A358F00A95526 /* JTACYearViewProtocols.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACYearViewProtocols.swift; path = Sources/JTAppleCalendar/JTACYearViewProtocols.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA75A233A359000A95526 /* JTACMonthView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthView.swift; path = Sources/JTAppleCalendar/JTACMonthView.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA75B233A359000A95526 /* CalendarStructs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CalendarStructs.swift; path = Sources/JTAppleCalendar/CalendarStructs.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA75C233A359000A95526 /* JTACMonthActionFunctions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthActionFunctions.swift; path = Sources/JTAppleCalendar/JTACMonthActionFunctions.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA75D233A359000A95526 /* JTACMonthLayoutProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthLayoutProtocol.swift; path = Sources/JTAppleCalendar/JTACMonthLayoutProtocol.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA75E233A359000A95526 /* JTACInteractionYearFunctions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACInteractionYearFunctions.swift; path = Sources/JTAppleCalendar/JTACInteractionYearFunctions.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA75F233A359000A95526 /* JTACYearView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACYearView.swift; path = Sources/JTAppleCalendar/JTACYearView.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA760233A359000A95526 /* JTAppleCalendar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JTAppleCalendar.h; path = Sources/JTAppleCalendar/JTAppleCalendar.h; sourceTree = SOURCE_ROOT; }; + 3B8DA761233A359000A95526 /* JTACMonthLayoutVerticalCalendar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthLayoutVerticalCalendar.swift; path = Sources/JTAppleCalendar/JTACMonthLayoutVerticalCalendar.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA762233A359000A95526 /* JTACMonthDelegateProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthDelegateProtocol.swift; path = Sources/JTAppleCalendar/JTACMonthDelegateProtocol.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA763233A359000A95526 /* JTACDayCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACDayCell.swift; path = Sources/JTAppleCalendar/JTACDayCell.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA764233A359000A95526 /* JTACMonthLayoutHorizontalCalendar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthLayoutHorizontalCalendar.swift; path = Sources/JTAppleCalendar/JTACMonthLayoutHorizontalCalendar.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA765233A359000A95526 /* JTACMonthViewProtocols.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthViewProtocols.swift; path = Sources/JTAppleCalendar/JTACMonthViewProtocols.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA766233A359000A95526 /* JTACCollectionMonthViewDelegates.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACCollectionMonthViewDelegates.swift; path = Sources/JTAppleCalendar/JTACCollectionMonthViewDelegates.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA767233A359000A95526 /* GlobalFunctionsAndExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = GlobalFunctionsAndExtensions.swift; path = Sources/JTAppleCalendar/GlobalFunctionsAndExtensions.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA768233A359000A95526 /* JTACInteractionMonthFunctions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACInteractionMonthFunctions.swift; path = Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA769233A359000A95526 /* JTACScrollViewDelegates.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACScrollViewDelegates.swift; path = Sources/JTAppleCalendar/JTACScrollViewDelegates.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA76A233A359000A95526 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = Sources/JTAppleCalendar/Info.plist; sourceTree = SOURCE_ROOT; }; + 3B8DA76B233A359000A95526 /* JTACCollectionYearViewDelegates.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACCollectionYearViewDelegates.swift; path = Sources/JTAppleCalendar/JTACCollectionYearViewDelegates.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA76C233A359000A95526 /* JTACMonthCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthCell.swift; path = Sources/JTAppleCalendar/JTACMonthCell.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA76D233A359000A95526 /* JTACMonthLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthLayout.swift; path = Sources/JTAppleCalendar/JTACMonthLayout.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA76E233A359000A95526 /* CalendarEnums.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CalendarEnums.swift; path = Sources/JTAppleCalendar/CalendarEnums.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA76F233A359000A95526 /* JTACMonthQueryFunctions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACMonthQueryFunctions.swift; path = Sources/JTAppleCalendar/JTACMonthQueryFunctions.swift; sourceTree = SOURCE_ROOT; }; + 3B8DA770233A359100A95526 /* JTACVariables.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = JTACVariables.swift; path = Sources/JTAppleCalendar/JTACVariables.swift; sourceTree = SOURCE_ROOT; }; + 3BE7994F233A346B00A37CA8 /* JTAppleCalendar.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = JTAppleCalendar.framework; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 3BE7994C233A346B00A37CA8 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 3BE79945233A346B00A37CA8 = { + isa = PBXGroup; + children = ( + 3BE79951233A346B00A37CA8 /* JTAppleCalendar */, + 3BE79950233A346B00A37CA8 /* Products */, + ); + sourceTree = ""; + }; + 3BE79950233A346B00A37CA8 /* Products */ = { + isa = PBXGroup; + children = ( + 3BE7994F233A346B00A37CA8 /* JTAppleCalendar.framework */, + ); + name = Products; + sourceTree = ""; + }; + 3BE79951233A346B00A37CA8 /* JTAppleCalendar */ = { + isa = PBXGroup; + children = ( + 3B8DA76E233A359000A95526 /* CalendarEnums.swift */, + 3B8DA75B233A359000A95526 /* CalendarStructs.swift */, + 3B8DA767233A359000A95526 /* GlobalFunctionsAndExtensions.swift */, + 3B8DA76A233A359000A95526 /* Info.plist */, + 3B8DA766233A359000A95526 /* JTACCollectionMonthViewDelegates.swift */, + 3B8DA76B233A359000A95526 /* JTACCollectionYearViewDelegates.swift */, + 3B8DA763233A359000A95526 /* JTACDayCell.swift */, + 3B8DA768233A359000A95526 /* JTACInteractionMonthFunctions.swift */, + 3B8DA75E233A359000A95526 /* JTACInteractionYearFunctions.swift */, + 3B8DA75C233A359000A95526 /* JTACMonthActionFunctions.swift */, + 3B8DA76C233A359000A95526 /* JTACMonthCell.swift */, + 3B8DA762233A359000A95526 /* JTACMonthDelegateProtocol.swift */, + 3B8DA76D233A359000A95526 /* JTACMonthLayout.swift */, + 3B8DA764233A359000A95526 /* JTACMonthLayoutHorizontalCalendar.swift */, + 3B8DA75D233A359000A95526 /* JTACMonthLayoutProtocol.swift */, + 3B8DA761233A359000A95526 /* JTACMonthLayoutVerticalCalendar.swift */, + 3B8DA76F233A359000A95526 /* JTACMonthQueryFunctions.swift */, + 3B8DA758233A358F00A95526 /* JTACMonthReusableView.swift */, + 3B8DA75A233A359000A95526 /* JTACMonthView.swift */, + 3B8DA765233A359000A95526 /* JTACMonthViewProtocols.swift */, + 3B8DA769233A359000A95526 /* JTACScrollViewDelegates.swift */, + 3B8DA770233A359100A95526 /* JTACVariables.swift */, + 3B8DA75F233A359000A95526 /* JTACYearView.swift */, + 3B8DA759233A358F00A95526 /* JTACYearViewProtocols.swift */, + 3B8DA760233A359000A95526 /* JTAppleCalendar.h */, + ); + path = JTAppleCalendar; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 3BE7994A233A346B00A37CA8 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 3B8DA779233A359100A95526 /* JTAppleCalendar.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 3BE7994E233A346B00A37CA8 /* JTAppleCalendar */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3BE79957233A346B00A37CA8 /* Build configuration list for PBXNativeTarget "JTAppleCalendar" */; + buildPhases = ( + 3BE7994A233A346B00A37CA8 /* Headers */, + 3BE7994B233A346B00A37CA8 /* Sources */, + 3BE7994C233A346B00A37CA8 /* Frameworks */, + 3BE7994D233A346B00A37CA8 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = JTAppleCalendar; + productName = JTAppleCalendar; + productReference = 3BE7994F233A346B00A37CA8 /* JTAppleCalendar.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 3BE79946233A346B00A37CA8 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1100; + ORGANIZATIONNAME = "Arnaud Boudou"; + TargetAttributes = { + 3BE7994E233A346B00A37CA8 = { + CreatedOnToolsVersion = 11.0; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 3BE79949233A346B00A37CA8 /* Build configuration list for PBXProject "JTAppleCalendar" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 3BE79945233A346B00A37CA8; + productRefGroup = 3BE79950233A346B00A37CA8 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 3BE7994E233A346B00A37CA8 /* JTAppleCalendar */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 3BE7994D233A346B00A37CA8 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 3BE7994B233A346B00A37CA8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3B8DA77D233A359100A95526 /* JTACMonthLayoutHorizontalCalendar.swift in Sources */, + 3B8DA787233A359100A95526 /* CalendarEnums.swift in Sources */, + 3B8DA775233A359100A95526 /* JTACMonthActionFunctions.swift in Sources */, + 3B8DA784233A359100A95526 /* JTACCollectionYearViewDelegates.swift in Sources */, + 3B8DA77E233A359100A95526 /* JTACMonthViewProtocols.swift in Sources */, + 3B8DA789233A359100A95526 /* JTACVariables.swift in Sources */, + 3B8DA788233A359100A95526 /* JTACMonthQueryFunctions.swift in Sources */, + 3B8DA771233A359100A95526 /* JTACMonthReusableView.swift in Sources */, + 3B8DA777233A359100A95526 /* JTACInteractionYearFunctions.swift in Sources */, + 3B8DA782233A359100A95526 /* JTACScrollViewDelegates.swift in Sources */, + 3B8DA77C233A359100A95526 /* JTACDayCell.swift in Sources */, + 3B8DA778233A359100A95526 /* JTACYearView.swift in Sources */, + 3B8DA781233A359100A95526 /* JTACInteractionMonthFunctions.swift in Sources */, + 3B8DA786233A359100A95526 /* JTACMonthLayout.swift in Sources */, + 3B8DA773233A359100A95526 /* JTACMonthView.swift in Sources */, + 3B8DA785233A359100A95526 /* JTACMonthCell.swift in Sources */, + 3B8DA77F233A359100A95526 /* JTACCollectionMonthViewDelegates.swift in Sources */, + 3B8DA77A233A359100A95526 /* JTACMonthLayoutVerticalCalendar.swift in Sources */, + 3B8DA774233A359100A95526 /* CalendarStructs.swift in Sources */, + 3B8DA776233A359100A95526 /* JTACMonthLayoutProtocol.swift in Sources */, + 3B8DA772233A359100A95526 /* JTACYearViewProtocols.swift in Sources */, + 3B8DA77B233A359100A95526 /* JTACMonthDelegateProtocol.swift in Sources */, + 3B8DA780233A359100A95526 /* GlobalFunctionsAndExtensions.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 3BE79955233A346B00A37CA8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 3BE79956233A346B00A37CA8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 3BE79958233A346B00A37CA8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Automatic; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = D35B5Y6JX8; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/Sources/JTAppleCalendar/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.patchthecode.JTAppleCalendar; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = NO; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 3BE79959233A346B00A37CA8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Automatic; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = D35B5Y6JX8; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/Sources/JTAppleCalendar/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.patchthecode.JTAppleCalendar; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3BE79949233A346B00A37CA8 /* Build configuration list for PBXProject "JTAppleCalendar" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3BE79955233A346B00A37CA8 /* Debug */, + 3BE79956233A346B00A37CA8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 3BE79957233A346B00A37CA8 /* Build configuration list for PBXNativeTarget "JTAppleCalendar" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3BE79958233A346B00A37CA8 /* Debug */, + 3BE79959233A346B00A37CA8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 3BE79946233A346B00A37CA8 /* Project object */; +} diff --git a/JTAppleCalendar.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/JTAppleCalendar.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..4d4178d4 --- /dev/null +++ b/JTAppleCalendar.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/JTAppleCalendar.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/JTAppleCalendar.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/JTAppleCalendar.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/JTAppleCalendar.xcodeproj/xcshareddata/xcschemes/JTAppleCalendar.xcscheme b/JTAppleCalendar.xcodeproj/xcshareddata/xcschemes/JTAppleCalendar.xcscheme new file mode 100644 index 00000000..082b53bd --- /dev/null +++ b/JTAppleCalendar.xcodeproj/xcshareddata/xcschemes/JTAppleCalendar.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Sources/JTAppleCalendar/JTACMonthActionFunctions.swift b/Sources/JTAppleCalendar/JTACMonthActionFunctions.swift index 68010f8e..f53db38b 100644 --- a/Sources/JTAppleCalendar/JTACMonthActionFunctions.swift +++ b/Sources/JTAppleCalendar/JTACMonthActionFunctions.swift @@ -112,6 +112,7 @@ extension JTACMonthView { self.triggerScrollToDateDelegate = triggerScrollToDateDelegate var point = point if scrollDirection == .horizontal { point.x += extraAddedOffset } else { point.y += extraAddedOffset } + if self.triggerScrollToDateDelegate == true { self.scrollViewWillBeginDragging(self) } DispatchQueue.main.async() { self.setContentOffset(point, animated: isAnimationEnabled) if (isAnimationEnabled && self.calendarOffsetIsAlreadyAtScrollPosition(forOffset: point)) || diff --git a/Sources/JTAppleCalendar/JTACScrollViewDelegates.swift b/Sources/JTAppleCalendar/JTACScrollViewDelegates.swift index ec2d7290..0b32119f 100644 --- a/Sources/JTAppleCalendar/JTACScrollViewDelegates.swift +++ b/Sources/JTAppleCalendar/JTACScrollViewDelegates.swift @@ -207,8 +207,18 @@ extension JTACMonthView: UIScrollViewDelegate { self.calendarDelegate?.calendar(self, didScrollToDateSegmentWith: dates) } } - - /// Tells the delegate that a scroll occured + + /// Tells the delegate when a scrolling animaton + /// in the scroll view begins + public func scrollViewWillBeginDragging(_ scrollView: UIScrollView) { + if let shouldTrigger = triggerScrollToDateDelegate, shouldTrigger == true { + visibleDates {[unowned self] dates in + self.calendarDelegate?.calendar(self, willScrollToDateSegmentWith: dates) + } + } + } + + /// Tells the delegate that a scroll occured public func scrollViewDidScroll(_ scrollView: UIScrollView) { calendarDelegate?.calendarDidScroll(self) } From d2d4ee06ad51e5fb43619650340f23930d1ae481 Mon Sep 17 00:00:00 2001 From: Kushagra Agarwal Date: Fri, 8 May 2020 13:55:52 +0530 Subject: [PATCH 3/8] move call outside onScroll --- Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift | 5 +++-- Sources/JTAppleCalendar/JTACMonthActionFunctions.swift | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift b/Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift index 43a1cf31..52415b8a 100644 --- a/Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift +++ b/Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift @@ -536,7 +536,8 @@ extension JTACMonthView { // Set triggereing of delegate on scroll self.triggerScrollToDateDelegate = triggerScrollToDateDelegate - + if self.triggerScrollToDateDelegate == true { self.scrollViewWillBeginDragging(self) } + // Ensure date is within valid boundary let components = calendar.dateComponents([.year, .month, .day], from: date) let firstDayOfDate = calendar.date(from: components)! @@ -551,7 +552,7 @@ extension JTACMonthView { assert(false, "Could not determine CGPoint. This is an error. contact developer on github. In production, there will not be a crash, but scrolling will not occur") return } - + scrollTo(point: point, triggerScrollToDateDelegate: triggerScrollToDateDelegate, isAnimationEnabled: animateScroll, diff --git a/Sources/JTAppleCalendar/JTACMonthActionFunctions.swift b/Sources/JTAppleCalendar/JTACMonthActionFunctions.swift index f53db38b..68010f8e 100644 --- a/Sources/JTAppleCalendar/JTACMonthActionFunctions.swift +++ b/Sources/JTAppleCalendar/JTACMonthActionFunctions.swift @@ -112,7 +112,6 @@ extension JTACMonthView { self.triggerScrollToDateDelegate = triggerScrollToDateDelegate var point = point if scrollDirection == .horizontal { point.x += extraAddedOffset } else { point.y += extraAddedOffset } - if self.triggerScrollToDateDelegate == true { self.scrollViewWillBeginDragging(self) } DispatchQueue.main.async() { self.setContentOffset(point, animated: isAnimationEnabled) if (isAnimationEnabled && self.calendarOffsetIsAlreadyAtScrollPosition(forOffset: point)) || From a1ad992e6fd75675ff5a968492b7996fe01b57cb Mon Sep 17 00:00:00 2001 From: Kushagra Agarwal Date: Fri, 8 May 2020 17:14:01 +0530 Subject: [PATCH 4/8] visibledates were wrong; trying the syncronous version --- Sources/JTAppleCalendar/JTACScrollViewDelegates.swift | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Sources/JTAppleCalendar/JTACScrollViewDelegates.swift b/Sources/JTAppleCalendar/JTACScrollViewDelegates.swift index 0b32119f..d0c60dd1 100644 --- a/Sources/JTAppleCalendar/JTACScrollViewDelegates.swift +++ b/Sources/JTAppleCalendar/JTACScrollViewDelegates.swift @@ -212,9 +212,7 @@ extension JTACMonthView: UIScrollViewDelegate { /// in the scroll view begins public func scrollViewWillBeginDragging(_ scrollView: UIScrollView) { if let shouldTrigger = triggerScrollToDateDelegate, shouldTrigger == true { - visibleDates {[unowned self] dates in - self.calendarDelegate?.calendar(self, willScrollToDateSegmentWith: dates) - } + self.calendarDelegate?.calendar(self, willScrollToDateSegmentWith: visibleDates()) } } From 4a730dc5a3feb7834820e8b5040696a2c7fa5e19 Mon Sep 17 00:00:00 2001 From: Kushagra Agarwal Date: Fri, 8 May 2020 17:26:20 +0530 Subject: [PATCH 5/8] correct visible dates with the willScroll delegate function --- .../JTAppleCalendar/JTACInteractionMonthFunctions.swift | 8 ++++++-- Sources/JTAppleCalendar/JTACScrollViewDelegates.swift | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift b/Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift index 52415b8a..052a6e64 100644 --- a/Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift +++ b/Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift @@ -536,9 +536,8 @@ extension JTACMonthView { // Set triggereing of delegate on scroll self.triggerScrollToDateDelegate = triggerScrollToDateDelegate - if self.triggerScrollToDateDelegate == true { self.scrollViewWillBeginDragging(self) } - // Ensure date is within valid boundary + // Ensure date is within valid boundary let components = calendar.dateComponents([.year, .month, .day], from: date) let firstDayOfDate = calendar.date(from: components)! if !((firstDayOfDate >= startOfMonthCache!) && (firstDayOfDate <= endOfMonthCache!)) { return } @@ -553,6 +552,11 @@ extension JTACMonthView { return } + if self.triggerScrollToDateDelegate == true { + let dateSegmentInfo = datesAtCurrentOffset(point) + self.scrollViewWillBeginDragging(self, visibleDates: dateSegmentInfo) + } + scrollTo(point: point, triggerScrollToDateDelegate: triggerScrollToDateDelegate, isAnimationEnabled: animateScroll, diff --git a/Sources/JTAppleCalendar/JTACScrollViewDelegates.swift b/Sources/JTAppleCalendar/JTACScrollViewDelegates.swift index d0c60dd1..95e3da22 100644 --- a/Sources/JTAppleCalendar/JTACScrollViewDelegates.swift +++ b/Sources/JTAppleCalendar/JTACScrollViewDelegates.swift @@ -210,9 +210,9 @@ extension JTACMonthView: UIScrollViewDelegate { /// Tells the delegate when a scrolling animaton /// in the scroll view begins - public func scrollViewWillBeginDragging(_ scrollView: UIScrollView) { + public func scrollViewWillBeginDragging(_ scrollView: UIScrollView, visibleDates: DateSegmentInfo) { if let shouldTrigger = triggerScrollToDateDelegate, shouldTrigger == true { - self.calendarDelegate?.calendar(self, willScrollToDateSegmentWith: visibleDates()) + self.calendarDelegate?.calendar(self, willScrollToDateSegmentWith: visibleDates) } } From a79b7af081be68c14a325bd042625f1e1d020361 Mon Sep 17 00:00:00 2001 From: Kushagra Agarwal Date: Sat, 9 May 2020 14:27:27 +0530 Subject: [PATCH 6/8] expose scrollDidEndScrollingAnimation through the delegate --- Sources/JTAppleCalendar/JTACMonthViewProtocols.swift | 4 ++++ Sources/JTAppleCalendar/JTACScrollViewDelegates.swift | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/Sources/JTAppleCalendar/JTACMonthViewProtocols.swift b/Sources/JTAppleCalendar/JTACMonthViewProtocols.swift index d65df022..04da730d 100644 --- a/Sources/JTAppleCalendar/JTACMonthViewProtocols.swift +++ b/Sources/JTAppleCalendar/JTACMonthViewProtocols.swift @@ -138,6 +138,9 @@ public protocol JTACMonthViewDelegate: class { /// Informs the delegate that the user just lifted their finger from swiping the calendar func scrollDidEndDecelerating(for calendar: JTACMonthView) + /// Informs the delegate that the scrolling animation concludes + func scrollDidEndScrollingAnimation(for calendar: JTACMonthView) + /// Tells the delegate that a scroll occured func calendarDidScroll(_ calendar: JTACMonthView) @@ -178,4 +181,5 @@ public extension JTACMonthViewDelegate { func calendarSizeForMonths(_ calendar: JTACMonthView?) -> MonthSize? { return nil } func sizeOfDecorationView(indexPath: IndexPath) -> CGRect { return .zero } func scrollDidEndDecelerating(for calendar: JTACMonthView) {} + func scrollDidEndScrollingAnimation(for calendar: JTACMonthView) {} } diff --git a/Sources/JTAppleCalendar/JTACScrollViewDelegates.swift b/Sources/JTAppleCalendar/JTACScrollViewDelegates.swift index 95e3da22..d38fe8e3 100644 --- a/Sources/JTAppleCalendar/JTACScrollViewDelegates.swift +++ b/Sources/JTAppleCalendar/JTACScrollViewDelegates.swift @@ -198,6 +198,10 @@ extension JTACMonthView: UIScrollViewDelegate { DispatchQueue.main.async { // https://github.com/patchthecode/JTAppleCalendar/issues/778 self.executeDelayedTasks(.scroll) } + + DispatchQueue.main.async { + self.calendarDelegate?.scrollDidEndScrollingAnimation(for: self) + } } /// Tells the delegate that the scroll view has From 889ecc94e5aeeb0d88e3942afab22e777d1ab42d Mon Sep 17 00:00:00 2001 From: elliotcz97 <40901589+elliotcz97@users.noreply.github.com> Date: Sun, 30 May 2021 12:07:50 +0200 Subject: [PATCH 7/8] Fixed willScrollToDateSegmentWith delegate call When the user scrolled to a segment programmatically with scrollToSegment then the willScrollToDateSegmentWith delegate did not get called. This change fixes this and calls the delegate function at the right time. --- .../JTACInteractionMonthFunctions.swift | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift b/Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift index 052a6e64..e3315aa6 100644 --- a/Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift +++ b/Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift @@ -493,11 +493,82 @@ extension JTACMonthView { } } + print(yOffset) + print(contentSize.height - frame.height) + if yOffset <= 0 { yOffset = 0 } else if yOffset >= contentSize.height - frame.height { yOffset = contentSize.height - frame.height } + + // This was needed for when the user scrolls to next segment which will be the last, + // then the value is not exact the same as the height of the content, + // and then the didScrollToSegment delegate got called before the scroll happened, this fixed it. + + yOffset = yOffset.rounded() + } + + // Get valid indexPath of date to scroll to + + // This code is needed so that when we call the delegate we can give it the right DateSegmentInfo + var date: Date + let visibleDatesTMP = visibleDates() + + switch destination { + case .start: + date = startDateCache + case .end: + date = endDateCache + case .next: + let nextDate = visibleDatesTMP.outdates.last?.date ?? endDateCache + + // We add 5 days so that we are sure, that we are in the month + // (month end and start dates can sometimes result in wrong DateSegmentInfo) + let correctedNextDate = calendar.date(byAdding: .day, value: 5, to: nextDate) ?? endDateCache + + // If we added maybe too much days we check if we are in the range of the calendar + // if we gone too far we just use the endDate of the Calendar + if correctedNextDate < endDateCache + { + date = correctedNextDate + } + else + { + date = endDateCache + } + + case .previous: + + let prevDate = visibleDatesTMP.indates.first?.date ?? startDateCache + + // Same happens here, but because we want the previous month/segment we substract 5 days + let correctedPrevDate = calendar.date(byAdding: .day, value: -5, to: prevDate) ?? startDateCache + + // Same check happens here, if we are below the date range, we just use the startDate + if correctedPrevDate > startDateCache + { + date = correctedPrevDate + } + else + { + date = startDateCache + } + } + + let retrievedPathsFromDates = pathsFromDates([date]) + if retrievedPathsFromDates.isEmpty { return } + let sectionIndexPath = pathsFromDates([date])[0] + + guard let point = targetPointForItemAt(indexPath: sectionIndexPath) else { + assert(false, "Could not determine CGPoint. This is an error. contact developer on github. In production, there will not be a crash, but scrolling will not occur") + return + } + + let dateSegmentInfo = datesAtCurrentOffset(point) + + if triggerScrollToDateDelegate { + calendarDelegate?.calendar(self, willScrollToDateSegmentWith: dateSegmentInfo) } scrollTo(point: CGPoint(x: xOffset, y: yOffset), From 34d594052bf96099e2410bb07e30b9880a50a03a Mon Sep 17 00:00:00 2001 From: elliotcz97 <40901589+elliotcz97@users.noreply.github.com> Date: Sun, 30 May 2021 12:12:57 +0200 Subject: [PATCH 8/8] Removed some unnecessary print's --- Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift | 3 --- 1 file changed, 3 deletions(-) diff --git a/Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift b/Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift index e3315aa6..9e97b5ce 100644 --- a/Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift +++ b/Sources/JTAppleCalendar/JTACInteractionMonthFunctions.swift @@ -493,9 +493,6 @@ extension JTACMonthView { } } - print(yOffset) - print(contentSize.height - frame.height) - if yOffset <= 0 { yOffset = 0 } else if yOffset >= contentSize.height - frame.height {