FSCalendarSeparators
This commit is contained in:
parent
d49bf95f1e
commit
fb915abc11
|
|
@ -24,12 +24,12 @@
|
|||
3052336B1D8170E50070AAFE /* FSCalendarAppearance.m in Sources */ = {isa = PBXBuildFile; fileRef = 305233501D8170E50070AAFE /* FSCalendarAppearance.m */; };
|
||||
3052336C1D8170E50070AAFE /* FSCalendarCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 305233521D8170E50070AAFE /* FSCalendarCell.m */; };
|
||||
3052336D1D8170E50070AAFE /* FSCalendarCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 305233541D8170E50070AAFE /* FSCalendarCollectionView.m */; };
|
||||
305233701D8170E50070AAFE /* FSCalendarFlowLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 3052335B1D8170E50070AAFE /* FSCalendarFlowLayout.m */; };
|
||||
305233711D8170E50070AAFE /* FSCalendarHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 3052335D1D8170E50070AAFE /* FSCalendarHeader.m */; };
|
||||
305233721D8170E50070AAFE /* FSCalendarScopeHandle.m in Sources */ = {isa = PBXBuildFile; fileRef = 3052335F1D8170E50070AAFE /* FSCalendarScopeHandle.m */; };
|
||||
305233731D8170E50070AAFE /* FSCalendarStickyHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 305233611D8170E50070AAFE /* FSCalendarStickyHeader.m */; };
|
||||
305233741D8170E50070AAFE /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 305233621D8170E50070AAFE /* Info.plist */; };
|
||||
3055B1CB1DA933AD002AFA13 /* FSCalendarExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3055B1CA1DA933AD002AFA13 /* FSCalendarExtensions.m */; };
|
||||
30623F701DC1F46800FA31B3 /* FSCalendarCollectionViewLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 30623F6F1DC1F46800FA31B3 /* FSCalendarCollectionViewLayout.m */; };
|
||||
30A33A0B1DB1CA640039BEA3 /* FSCalendarConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 30A33A0A1DB1CA640039BEA3 /* FSCalendarConstants.m */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
|
|
@ -87,8 +87,6 @@
|
|||
305233531D8170E50070AAFE /* FSCalendarCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarCollectionView.h; sourceTree = "<group>"; };
|
||||
305233541D8170E50070AAFE /* FSCalendarCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarCollectionView.m; sourceTree = "<group>"; };
|
||||
305233571D8170E50070AAFE /* FSCalendarDynamicHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarDynamicHeader.h; sourceTree = "<group>"; };
|
||||
3052335A1D8170E50070AAFE /* FSCalendarFlowLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarFlowLayout.h; sourceTree = "<group>"; };
|
||||
3052335B1D8170E50070AAFE /* FSCalendarFlowLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarFlowLayout.m; sourceTree = "<group>"; };
|
||||
3052335C1D8170E50070AAFE /* FSCalendarHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarHeader.h; sourceTree = "<group>"; };
|
||||
3052335D1D8170E50070AAFE /* FSCalendarHeader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarHeader.m; sourceTree = "<group>"; };
|
||||
3052335E1D8170E50070AAFE /* FSCalendarScopeHandle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarScopeHandle.h; sourceTree = "<group>"; };
|
||||
|
|
@ -98,6 +96,8 @@
|
|||
305233621D8170E50070AAFE /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
3055B1C91DA933AD002AFA13 /* FSCalendarExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarExtensions.h; sourceTree = "<group>"; };
|
||||
3055B1CA1DA933AD002AFA13 /* FSCalendarExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarExtensions.m; sourceTree = "<group>"; };
|
||||
30623F6E1DC1F46800FA31B3 /* FSCalendarCollectionViewLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarCollectionViewLayout.h; sourceTree = "<group>"; };
|
||||
30623F6F1DC1F46800FA31B3 /* FSCalendarCollectionViewLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarCollectionViewLayout.m; sourceTree = "<group>"; };
|
||||
30A33A091DB1CA640039BEA3 /* FSCalendarConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarConstants.h; sourceTree = "<group>"; };
|
||||
30A33A0A1DB1CA640039BEA3 /* FSCalendarConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarConstants.m; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
|
@ -200,8 +200,8 @@
|
|||
305233541D8170E50070AAFE /* FSCalendarCollectionView.m */,
|
||||
30A33A091DB1CA640039BEA3 /* FSCalendarConstants.h */,
|
||||
30A33A0A1DB1CA640039BEA3 /* FSCalendarConstants.m */,
|
||||
3052335A1D8170E50070AAFE /* FSCalendarFlowLayout.h */,
|
||||
3052335B1D8170E50070AAFE /* FSCalendarFlowLayout.m */,
|
||||
30623F6E1DC1F46800FA31B3 /* FSCalendarCollectionViewLayout.h */,
|
||||
30623F6F1DC1F46800FA31B3 /* FSCalendarCollectionViewLayout.m */,
|
||||
3052335C1D8170E50070AAFE /* FSCalendarHeader.h */,
|
||||
3052335D1D8170E50070AAFE /* FSCalendarHeader.m */,
|
||||
3052335E1D8170E50070AAFE /* FSCalendarScopeHandle.h */,
|
||||
|
|
@ -333,12 +333,12 @@
|
|||
files = (
|
||||
30A33A0B1DB1CA640039BEA3 /* FSCalendarConstants.m in Sources */,
|
||||
305233721D8170E50070AAFE /* FSCalendarScopeHandle.m in Sources */,
|
||||
30623F701DC1F46800FA31B3 /* FSCalendarCollectionViewLayout.m in Sources */,
|
||||
305233691D8170E50070AAFE /* FSCalendar.m in Sources */,
|
||||
305233671D8170E50070AAFE /* FSCalendar+Deprecated.m in Sources */,
|
||||
3052336B1D8170E50070AAFE /* FSCalendarAppearance.m in Sources */,
|
||||
305233731D8170E50070AAFE /* FSCalendarStickyHeader.m in Sources */,
|
||||
305233711D8170E50070AAFE /* FSCalendarHeader.m in Sources */,
|
||||
305233701D8170E50070AAFE /* FSCalendarFlowLayout.m in Sources */,
|
||||
3055B1CB1DA933AD002AFA13 /* FSCalendarExtensions.m in Sources */,
|
||||
3052336C1D8170E50070AAFE /* FSCalendarCell.m in Sources */,
|
||||
3052336D1D8170E50070AAFE /* FSCalendarCollectionView.m in Sources */,
|
||||
|
|
|
|||
|
|
@ -24,9 +24,9 @@
|
|||
3092253A1B905C4300123031 /* FSCalendarConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 309225381B905C4300123031 /* FSCalendarConstants.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
3092253B1B905C4300123031 /* FSCalendarConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 309225391B905C4300123031 /* FSCalendarConstants.m */; };
|
||||
3092253C1B905C4300123031 /* FSCalendarConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 309225391B905C4300123031 /* FSCalendarConstants.m */; };
|
||||
3095398F1C38D66C00BD37AA /* FSCalendarFlowLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 3095398D1C38D66C00BD37AA /* FSCalendarFlowLayout.h */; settings = {ATTRIBUTES = (Private, ); }; };
|
||||
309539901C38D66C00BD37AA /* FSCalendarFlowLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 3095398E1C38D66C00BD37AA /* FSCalendarFlowLayout.m */; };
|
||||
309539911C38D66C00BD37AA /* FSCalendarFlowLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 3095398E1C38D66C00BD37AA /* FSCalendarFlowLayout.m */; };
|
||||
3095398F1C38D66C00BD37AA /* FSCalendarCollectionViewLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 3095398D1C38D66C00BD37AA /* FSCalendarCollectionViewLayout.h */; settings = {ATTRIBUTES = (Private, ); }; };
|
||||
309539901C38D66C00BD37AA /* FSCalendarCollectionViewLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 3095398E1C38D66C00BD37AA /* FSCalendarCollectionViewLayout.m */; };
|
||||
309539911C38D66C00BD37AA /* FSCalendarCollectionViewLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 3095398E1C38D66C00BD37AA /* FSCalendarCollectionViewLayout.m */; };
|
||||
309A42011D992C4A004E86CB /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 309A42001D992C4A004E86CB /* Images.xcassets */; };
|
||||
30B0BA9B1B8D8BC9004B9476 /* FSCalendar.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = EE638CE21B8A1F550006DD1A /* FSCalendar.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
30B0BAD01B8D8E23004B9476 /* FSCalendar.m in Sources */ = {isa = PBXBuildFile; fileRef = 30B0BAC01B8D8E22004B9476 /* FSCalendar.m */; };
|
||||
|
|
@ -113,8 +113,8 @@
|
|||
308B58D71CC08FFA004E812D /* ButtonsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ButtonsViewController.m; sourceTree = SOURCE_ROOT; };
|
||||
309225381B905C4300123031 /* FSCalendarConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarConstants.h; sourceTree = "<group>"; };
|
||||
309225391B905C4300123031 /* FSCalendarConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarConstants.m; sourceTree = "<group>"; };
|
||||
3095398D1C38D66C00BD37AA /* FSCalendarFlowLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarFlowLayout.h; sourceTree = "<group>"; };
|
||||
3095398E1C38D66C00BD37AA /* FSCalendarFlowLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarFlowLayout.m; sourceTree = "<group>"; };
|
||||
3095398D1C38D66C00BD37AA /* FSCalendarCollectionViewLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarCollectionViewLayout.h; sourceTree = "<group>"; };
|
||||
3095398E1C38D66C00BD37AA /* FSCalendarCollectionViewLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarCollectionViewLayout.m; sourceTree = "<group>"; };
|
||||
309A42001D992C4A004E86CB /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = SOURCE_ROOT; };
|
||||
30B0BABF1B8D8E22004B9476 /* FSCalendar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendar.h; sourceTree = "<group>"; };
|
||||
30B0BAC01B8D8E22004B9476 /* FSCalendar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendar.m; sourceTree = "<group>"; };
|
||||
|
|
@ -227,12 +227,12 @@
|
|||
30B0BAC41B8D8E22004B9476 /* FSCalendarCell.m */,
|
||||
EEC9C0371BDC9E7000383A07 /* FSCalendarCollectionView.h */,
|
||||
EEC9C0381BDC9E7000383A07 /* FSCalendarCollectionView.m */,
|
||||
3095398D1C38D66C00BD37AA /* FSCalendarCollectionViewLayout.h */,
|
||||
3095398E1C38D66C00BD37AA /* FSCalendarCollectionViewLayout.m */,
|
||||
30B0BAC61B8D8E22004B9476 /* FSCalendarHeader.h */,
|
||||
30B0BAC71B8D8E22004B9476 /* FSCalendarHeader.m */,
|
||||
30FCB3941BAAD112002B87AD /* FSCalendarStickyHeader.h */,
|
||||
30FCB3951BAAD112002B87AD /* FSCalendarStickyHeader.m */,
|
||||
3095398D1C38D66C00BD37AA /* FSCalendarFlowLayout.h */,
|
||||
3095398E1C38D66C00BD37AA /* FSCalendarFlowLayout.m */,
|
||||
30CEF8FE1C950C1F008EAFB1 /* FSCalendarAnimator.h */,
|
||||
30CEF8FF1C950C1F008EAFB1 /* FSCalendarAnimator.m */,
|
||||
3055B1C01DA9323A002AFA13 /* FSCalendarExtensions.h */,
|
||||
|
|
@ -395,7 +395,7 @@
|
|||
EEC9C0391BDC9E7000383A07 /* FSCalendarCollectionView.h in Headers */,
|
||||
30FCB3961BAAD112002B87AD /* FSCalendarStickyHeader.h in Headers */,
|
||||
3065CA961CD31B81006C218D /* FSCalendarScopeHandle.h in Headers */,
|
||||
3095398F1C38D66C00BD37AA /* FSCalendarFlowLayout.h in Headers */,
|
||||
3095398F1C38D66C00BD37AA /* FSCalendarCollectionViewLayout.h in Headers */,
|
||||
3055B1C21DA9323A002AFA13 /* FSCalendarExtensions.h in Headers */,
|
||||
30CEF9001C950C1F008EAFB1 /* FSCalendarAnimator.h in Headers */,
|
||||
30B0BB031B8D9B6D004B9476 /* FSCalendarDynamicHeader.h in Headers */,
|
||||
|
|
@ -555,7 +555,7 @@
|
|||
3065CAA81CD3506A006C218D /* FSCalendar+Deprecated.m in Sources */,
|
||||
EE638CD31B89DBE90006DD1A /* AppDelegate.m in Sources */,
|
||||
3092253B1B905C4300123031 /* FSCalendarConstants.m in Sources */,
|
||||
309539901C38D66C00BD37AA /* FSCalendarFlowLayout.m in Sources */,
|
||||
309539901C38D66C00BD37AA /* FSCalendarCollectionViewLayout.m in Sources */,
|
||||
30F5D85A1B9FC4BB00C1C201 /* MultipleSelectionViewController.m in Sources */,
|
||||
30FCB3971BAAD112002B87AD /* FSCalendarStickyHeader.m in Sources */,
|
||||
30B0BAD21B8D8E23004B9476 /* FSCalendarCell.m in Sources */,
|
||||
|
|
@ -588,7 +588,7 @@
|
|||
30B0BAF81B8D9AC1004B9476 /* FSCalendarHeader.m in Sources */,
|
||||
3092253C1B905C4300123031 /* FSCalendarConstants.m in Sources */,
|
||||
3055B1C41DA9323A002AFA13 /* FSCalendarExtensions.m in Sources */,
|
||||
309539911C38D66C00BD37AA /* FSCalendarFlowLayout.m in Sources */,
|
||||
309539911C38D66C00BD37AA /* FSCalendarCollectionViewLayout.m in Sources */,
|
||||
3065CA981CD31B81006C218D /* FSCalendarScopeHandle.m in Sources */,
|
||||
30CEF9021C950C1F008EAFB1 /* FSCalendarAnimator.m in Sources */,
|
||||
30FCB3981BAAD112002B87AD /* FSCalendarStickyHeader.m in Sources */,
|
||||
|
|
@ -699,7 +699,7 @@
|
|||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
|
|
@ -739,7 +739,7 @@
|
|||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = iphoneos;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
|
|
|
|||
|
|
@ -96,6 +96,8 @@
|
|||
|
||||
self.gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
|
||||
|
||||
self.calendar.appearance.separators = FSCalendarSeparatorInterRows;
|
||||
|
||||
}
|
||||
|
||||
- (NSDate *)minimumDateForCalendar:(FSCalendar *)calendar
|
||||
|
|
|
|||
|
|
@ -53,18 +53,18 @@
|
|||
|
||||
// [_calendar selectDate:[self.dateFormatter1 dateFromString:@"2015/10/05"]];
|
||||
|
||||
_datesShouldNotBeSelected = @[@"2015/08/07",
|
||||
@"2015/09/07",
|
||||
@"2015/10/07",
|
||||
@"2015/11/07",
|
||||
@"2015/12/07",
|
||||
_datesShouldNotBeSelected = @[@"2016/08/07",
|
||||
@"2016/09/07",
|
||||
@"2016/10/07",
|
||||
@"2016/11/07",
|
||||
@"2016/12/07",
|
||||
@"2016/01/07",
|
||||
@"2016/02/07"];
|
||||
|
||||
_datesWithEvent = @[@"2015-10-03",
|
||||
@"2015-10-07",
|
||||
@"2015-10-15",
|
||||
@"2015-10-25"];
|
||||
_datesWithEvent = @[@"2016-10-03",
|
||||
@"2016-10-07",
|
||||
@"2016-10-15",
|
||||
@"2016-10-25"];
|
||||
|
||||
// self.calendar.appearance.weekdayBackground = [UIColor cyanColor];
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
#import "FSCalendarHeader.h"
|
||||
#import "FSCalendarStickyHeader.h"
|
||||
#import "FSCalendarCell.h"
|
||||
#import "FSCalendarFlowLayout.h"
|
||||
#import "FSCalendarCollectionViewLayout.h"
|
||||
#import "FSCalendarAnimator.h"
|
||||
#import "FSCalendarScopeHandle.h"
|
||||
|
||||
|
|
@ -106,8 +106,8 @@ typedef NS_ENUM(NSUInteger, FSCalendarOrientation) {
|
|||
@property (weak , nonatomic) UIImageView *weekdayView;
|
||||
@property (weak , nonatomic) FSCalendarScopeHandle *scopeHandle;
|
||||
@property (weak , nonatomic) FSCalendarCollectionView *collectionView;
|
||||
@property (weak , nonatomic) FSCalendarFlowLayout *collectionViewLayout;
|
||||
@property (strong, nonatomic) FSCalendarAnimator *animator;
|
||||
@property (weak , nonatomic) FSCalendarCollectionViewLayout *collectionViewLayout;
|
||||
|
||||
@property (weak , nonatomic) FSCalendarHeader *header;
|
||||
@property (weak , nonatomic) FSCalendarHeaderTouchDeliver *deliver;
|
||||
|
|
@ -262,7 +262,7 @@ typedef NS_ENUM(NSUInteger, FSCalendarOrientation) {
|
|||
[contentView addSubview:daysContainer];
|
||||
self.daysContainer = daysContainer;
|
||||
|
||||
FSCalendarFlowLayout *collectionViewLayout = [[FSCalendarFlowLayout alloc] init];
|
||||
FSCalendarCollectionViewLayout *collectionViewLayout = [[FSCalendarCollectionViewLayout alloc] init];
|
||||
collectionViewLayout.calendar = self;
|
||||
|
||||
FSCalendarCollectionView *collectionView = [[FSCalendarCollectionView alloc] initWithFrame:CGRectZero
|
||||
|
|
@ -287,12 +287,12 @@ typedef NS_ENUM(NSUInteger, FSCalendarOrientation) {
|
|||
if (!FSCalendarInAppExtension) {
|
||||
|
||||
UIView *view = [[UIView alloc] initWithFrame:CGRectZero];
|
||||
view.backgroundColor = FSCalendarStandardSeparatorColor;
|
||||
view.backgroundColor = FSCalendarStandardLineColor;
|
||||
[self addSubview:view];
|
||||
self.topBorder = view;
|
||||
|
||||
view = [[UIView alloc] initWithFrame:CGRectZero];
|
||||
view.backgroundColor = FSCalendarStandardSeparatorColor;
|
||||
view.backgroundColor = FSCalendarStandardLineColor;
|
||||
[self addSubview:view];
|
||||
self.bottomBorder = view;
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
#import "FSCalendar.h"
|
||||
#import "FSCalendarCollectionView.h"
|
||||
#import "FSCalendarFlowLayout.h"
|
||||
#import "FSCalendarCollectionViewLayout.h"
|
||||
#import "FSCalendarScopeHandle.h"
|
||||
|
||||
typedef NS_ENUM(NSUInteger, FSCalendarTransition) {
|
||||
|
|
@ -25,7 +25,7 @@ typedef NS_ENUM(NSUInteger, FSCalendarTransitionState) {
|
|||
|
||||
@property (weak, nonatomic) FSCalendar *calendar;
|
||||
@property (weak, nonatomic) FSCalendarCollectionView *collectionView;
|
||||
@property (weak, nonatomic) FSCalendarFlowLayout *collectionViewLayout;
|
||||
@property (weak, nonatomic) FSCalendarCollectionViewLayout *collectionViewLayout;
|
||||
|
||||
@property (assign, nonatomic) FSCalendarTransition transition;
|
||||
@property (assign, nonatomic) FSCalendarTransitionState state;
|
||||
|
|
|
|||
|
|
@ -31,6 +31,11 @@ typedef NS_OPTIONS(NSUInteger, FSCalendarCaseOptions) {
|
|||
FSCalendarCaseOptionsWeekdayUsesSingleUpperCase = 2 << 4,
|
||||
};
|
||||
|
||||
typedef NS_OPTIONS(NSUInteger, FSCalendarSeparators) {
|
||||
FSCalendarSeparatorInterRows = 1 << 0,
|
||||
FSCalendarSeparatorInterColumns = 1 << 1 // Will implemented soon
|
||||
};
|
||||
|
||||
/**
|
||||
* FSCalendarAppearance determines the fonts and colors of components in the calendar.
|
||||
*
|
||||
|
|
@ -208,6 +213,12 @@ typedef NS_OPTIONS(NSUInteger, FSCalendarCaseOptions) {
|
|||
*/
|
||||
@property (assign, nonatomic) FSCalendarCaseOptions caseOptions;
|
||||
|
||||
/**
|
||||
* The line integrations for calendar.
|
||||
*
|
||||
*/
|
||||
@property (assign, nonatomic) FSCalendarSeparators separators;
|
||||
|
||||
/**
|
||||
* A Boolean value indicates whether the calendar should adjust font size by its content size.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -602,6 +602,14 @@
|
|||
}
|
||||
}
|
||||
|
||||
- (void)setSeparators:(FSCalendarSeparators)separators
|
||||
{
|
||||
if (_separators != separators) {
|
||||
_separators = separators;
|
||||
[_calendar.collectionView.collectionViewLayout invalidateLayout];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)invalidateAppearance
|
||||
{
|
||||
[self invalidateFonts];
|
||||
|
|
|
|||
|
|
@ -11,3 +11,8 @@
|
|||
@interface FSCalendarCollectionView : UICollectionView
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@interface FSCalendarSeparator : UICollectionReusableView
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#import "FSCalendarCollectionView.h"
|
||||
#import "FSCalendarExtensions.h"
|
||||
#import "FSCalendarConstants.h"
|
||||
|
||||
@interface FSCalendarCollectionView ()
|
||||
|
||||
|
|
@ -68,3 +69,24 @@
|
|||
|
||||
@end
|
||||
|
||||
|
||||
@implementation FSCalendarSeparator
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame
|
||||
{
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
self.backgroundColor = FSCalendarStandardSeparatorColor;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)applyLayoutAttributes:(UICollectionViewLayoutAttributes *)layoutAttributes
|
||||
{
|
||||
self.frame = layoutAttributes.frame;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -10,11 +10,8 @@
|
|||
|
||||
@class FSCalendar;
|
||||
|
||||
typedef NS_ENUM(NSUInteger, FSCalendarScope);
|
||||
|
||||
@interface FSCalendarFlowLayout : UICollectionViewFlowLayout <UICollectionViewDelegateFlowLayout>
|
||||
@interface FSCalendarCollectionViewLayout : UICollectionViewFlowLayout
|
||||
|
||||
@property (weak, nonatomic) FSCalendar *calendar;
|
||||
|
||||
|
||||
@end
|
||||
|
|
@ -0,0 +1,150 @@
|
|||
//
|
||||
// FSCalendarAnimationLayout.m
|
||||
// FSCalendar
|
||||
//
|
||||
// Created by dingwenchao on 1/3/16.
|
||||
// Copyright © 2016 wenchaoios. All rights reserved.
|
||||
//
|
||||
|
||||
#import "FSCalendarCollectionViewLayout.h"
|
||||
#import "FSCalendar.h"
|
||||
#import "FSCalendarDynamicHeader.h"
|
||||
#import "FSCalendarCollectionView.h"
|
||||
#import "FSCalendarExtensions.h"
|
||||
#import "FSCalendarConstants.h"
|
||||
#import <objc/runtime.h>
|
||||
|
||||
#define kFSCalendarSeparatorInterRows @"FSCalendarSeparatorInterRows"
|
||||
#define kFSCalendarSeparatorInterColumns @"FSCalendarSeparatorInterColumns"
|
||||
|
||||
@interface FSCalendarCollectionViewLayout ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation FSCalendarCollectionViewLayout
|
||||
|
||||
- (instancetype)init
|
||||
{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
|
||||
self.scrollDirection = UICollectionViewScrollDirectionHorizontal;
|
||||
self.minimumInteritemSpacing = 0;
|
||||
self.minimumLineSpacing = 0;
|
||||
self.itemSize = CGSizeMake(1, 1);
|
||||
self.sectionInset = UIEdgeInsetsZero;
|
||||
|
||||
[self registerClass:[FSCalendarSeparator class] forDecorationViewOfKind:kFSCalendarSeparatorInterRows];
|
||||
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)prepareLayout
|
||||
{
|
||||
[super prepareLayout];
|
||||
|
||||
CGFloat rowHeight = self.calendar.preferredRowHeight;
|
||||
|
||||
if (!self.calendar.floatingMode) {
|
||||
|
||||
self.headerReferenceSize = CGSizeZero;
|
||||
|
||||
CGFloat padding = self.calendar.preferredPadding;
|
||||
if (self.scrollDirection == UICollectionViewScrollDirectionHorizontal) {
|
||||
padding = FSCalendarFloor(padding);
|
||||
rowHeight = FSCalendarFloor(rowHeight*2)*0.5-1; // Round to nearest multiple of 0.5. e.g. (16.8->16.5),(16.2->16.0)
|
||||
}
|
||||
self.sectionInset = UIEdgeInsetsMake(padding, 0, padding, 0);
|
||||
switch (self.calendar.scope) {
|
||||
|
||||
case FSCalendarScopeMonth: {
|
||||
|
||||
CGFloat columnWidth = self.collectionView.fs_width/7.0-(self.scrollDirection == UICollectionViewScrollDirectionVertical)*0.1;
|
||||
CGSize itemSize = CGSizeMake(columnWidth,rowHeight);
|
||||
self.itemSize = itemSize;
|
||||
|
||||
break;
|
||||
}
|
||||
case FSCalendarScopeWeek: {
|
||||
|
||||
CGSize itemSize = CGSizeMake(self.collectionView.fs_width/7.0, rowHeight);
|
||||
self.itemSize = itemSize;
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
|
||||
CGFloat headerHeight = self.calendar.preferredWeekdayHeight*1.5+self.calendar.preferredHeaderHeight;
|
||||
self.headerReferenceSize = CGSizeMake(self.collectionView.fs_width, headerHeight);
|
||||
|
||||
CGFloat columnWidth = self.collectionView.fs_width/7.0-(self.scrollDirection == UICollectionViewScrollDirectionVertical)*0.1;
|
||||
|
||||
CGSize itemSize = CGSizeMake(columnWidth,rowHeight);
|
||||
self.itemSize = itemSize;
|
||||
|
||||
self.sectionInset = UIEdgeInsetsZero;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect
|
||||
{
|
||||
NSArray<UICollectionViewLayoutAttributes *> *attributesArray = [super layoutAttributesForElementsInRect:rect];
|
||||
|
||||
// Clean on week mode
|
||||
if (self.calendar.scope == FSCalendarScopeWeek) {
|
||||
return attributesArray;
|
||||
}
|
||||
|
||||
if ((self.calendar.appearance.separators & FSCalendarSeparatorInterRows) != 0) {
|
||||
|
||||
// Get row leadings
|
||||
NSArray<UICollectionViewLayoutAttributes *> *visibleRows = [attributesArray filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(UICollectionViewLayoutAttributes * _Nullable evaluatedObject, NSDictionary<NSString *,id> * _Nullable bindings) {
|
||||
|
||||
if (evaluatedObject.representedElementCategory != UICollectionElementCategoryCell) {
|
||||
return NO;
|
||||
}
|
||||
|
||||
NSDate *currentPage = [self.calendar.gregorian dateByAddingUnit:NSCalendarUnitMonth value:evaluatedObject.indexPath.section toDate:[self.calendar beginingOfMonth:self.calendar.minimumDate] options:0];
|
||||
NSInteger numberOfRows = [self.calendar numberOfRowsInMonth:currentPage];
|
||||
|
||||
switch (self.scrollDirection) {
|
||||
case UICollectionViewScrollDirectionHorizontal: {
|
||||
return evaluatedObject.indexPath.item < numberOfRows-1;
|
||||
}
|
||||
case UICollectionViewScrollDirectionVertical: {
|
||||
return evaluatedObject.indexPath.item%7==0 && evaluatedObject.indexPath.item/7<numberOfRows-1;
|
||||
}
|
||||
}
|
||||
return NO;
|
||||
}]];
|
||||
|
||||
|
||||
NSMutableArray *decorationAttributes = [NSMutableArray array];
|
||||
for (UICollectionViewLayoutAttributes *attibutes in visibleRows) {
|
||||
UICollectionViewLayoutAttributes *layoutAttributes = [UICollectionViewLayoutAttributes layoutAttributesForDecorationViewOfKind:kFSCalendarSeparatorInterRows withIndexPath:attibutes.indexPath];
|
||||
CGFloat decorationOffset = CGRectGetMaxY(attibutes.frame);
|
||||
CGFloat extraOffset = (self.scrollDirection == UICollectionViewScrollDirectionHorizontal ? 0.5 : -0.5) * FSCalendarStandardSeparatorThickness;
|
||||
layoutAttributes.frame = CGRectMake(CGRectGetMinX(attibutes.frame), decorationOffset+extraOffset, self.self.collectionView.fs_width, FSCalendarStandardSeparatorThickness);
|
||||
layoutAttributes.zIndex = NSIntegerMax;
|
||||
[decorationAttributes addObject:layoutAttributes];
|
||||
}
|
||||
return [attributesArray arrayByAddingObjectsFromArray:decorationAttributes];
|
||||
}
|
||||
|
||||
return attributesArray;
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#undef kFSCalendarSeparatorInterColumns
|
||||
#undef kFSCalendarSeparatorInterRows
|
||||
|
||||
|
||||
|
|
@ -18,6 +18,7 @@ UIKIT_EXTERN CGFloat const FSCalendarStandardWeekdayHeight;
|
|||
UIKIT_EXTERN CGFloat const FSCalendarStandardMonthlyPageHeight;
|
||||
UIKIT_EXTERN CGFloat const FSCalendarStandardWeeklyPageHeight;
|
||||
UIKIT_EXTERN CGFloat const FSCalendarStandardCellDiameter;
|
||||
UIKIT_EXTERN CGFloat const FSCalendarStandardSeparatorThickness;
|
||||
UIKIT_EXTERN CGFloat const FSCalendarAutomaticDimension;
|
||||
UIKIT_EXTERN CGFloat const FSCalendarDefaultBounceAnimationDuration;
|
||||
UIKIT_EXTERN CGFloat const FSCalendarStandardRowHeight;
|
||||
|
|
@ -41,7 +42,8 @@ UIKIT_EXTERN NSInteger const FSCalendarDefaultHourComponent;
|
|||
#define FSCalendarStandardTitleTextColor FSColorRGBA(14,69,221 ,1.0)
|
||||
#define FSCalendarStandardEventDotColor FSColorRGBA(31,119,219,0.75)
|
||||
|
||||
#define FSCalendarStandardSeparatorColor [[UIColor lightGrayColor] colorWithAlphaComponent:0.25]
|
||||
#define FSCalendarStandardLineColor [[UIColor lightGrayColor] colorWithAlphaComponent:0.30]
|
||||
#define FSCalendarStandardSeparatorColor [[UIColor lightGrayColor] colorWithAlphaComponent:0.60]
|
||||
#define FSCalendarStandardScopeHandleColor [[UIColor lightGrayColor] colorWithAlphaComponent:0.50]
|
||||
|
||||
#define FSColorRGBA(r,g,b,a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]
|
||||
|
|
@ -54,19 +56,13 @@ UIKIT_EXTERN NSInteger const FSCalendarDefaultHourComponent;
|
|||
#endif
|
||||
|
||||
#define FSCalendarUseWeakSelf __weak __typeof__(self) FSCalendarWeakSelf = self;
|
||||
#define FSCalendarUseStrongSelf __typeof__(self) self = FSCalendarWeakSelf;
|
||||
#define FSCalendarUseStrongSelf __strong __typeof__(self) self = FSCalendarWeakSelf;
|
||||
|
||||
|
||||
#pragma mark - Deprecated
|
||||
|
||||
#define FSCalendarDeprecated(instead) DEPRECATED_MSG_ATTRIBUTE(" Use " # instead " instead")
|
||||
|
||||
FSCalendarDeprecated('FSCalendarCellShape')
|
||||
typedef NS_ENUM(NSInteger, FSCalendarCellStyle) {
|
||||
FSCalendarCellStyleCircle = 0,
|
||||
FSCalendarCellStyleRectangle = 1
|
||||
};
|
||||
|
||||
FSCalendarDeprecated('FSCalendarScrollDirection')
|
||||
typedef NS_ENUM(NSInteger, FSCalendarFlow) {
|
||||
FSCalendarFlowVertical,
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ CGFloat const FSCalendarStandardWeekdayHeight = 25;
|
|||
CGFloat const FSCalendarStandardMonthlyPageHeight = 300.0;
|
||||
CGFloat const FSCalendarStandardWeeklyPageHeight = 108+1/3.0;
|
||||
CGFloat const FSCalendarStandardCellDiameter = 100/3.0;
|
||||
CGFloat const FSCalendarStandardSeparatorThickness = 0.5;
|
||||
CGFloat const FSCalendarAutomaticDimension = -1;
|
||||
CGFloat const FSCalendarDefaultBounceAnimationDuration = 0.15;
|
||||
CGFloat const FSCalendarStandardRowHeight = 38+1.0/3;
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
#import "FSCalendarHeader.h"
|
||||
#import "FSCalendarStickyHeader.h"
|
||||
#import "FSCalendarCollectionView.h"
|
||||
#import "FSCalendarFlowLayout.h"
|
||||
#import "FSCalendarCollectionViewLayout.h"
|
||||
#import "FSCalendarScopeHandle.h"
|
||||
#import "FSCalendarAnimator.h"
|
||||
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
@property (readonly, nonatomic) FSCalendarHeader *header;
|
||||
@property (readonly, nonatomic) FSCalendarCollectionView *collectionView;
|
||||
@property (readonly, nonatomic) FSCalendarScopeHandle *scopeHandle;
|
||||
@property (readonly, nonatomic) FSCalendarFlowLayout *collectionViewLayout;
|
||||
@property (readonly, nonatomic) FSCalendarCollectionViewLayout *collectionViewLayout;
|
||||
@property (readonly, nonatomic) FSCalendarAnimator *animator;
|
||||
@property (readonly, nonatomic) NSArray<UILabel *> *weekdays;
|
||||
@property (readonly, nonatomic) BOOL floatingMode;
|
||||
|
|
|
|||
|
|
@ -1,85 +0,0 @@
|
|||
//
|
||||
// FSCalendarAnimationLayout.m
|
||||
// FSCalendar
|
||||
//
|
||||
// Created by dingwenchao on 1/3/16.
|
||||
// Copyright © 2016 wenchaoios. All rights reserved.
|
||||
//
|
||||
|
||||
#import "FSCalendarFlowLayout.h"
|
||||
#import "FSCalendarDynamicHeader.h"
|
||||
#import "FSCalendar.h"
|
||||
#import "FSCalendarExtensions.h"
|
||||
#import <objc/runtime.h>
|
||||
|
||||
@implementation FSCalendarFlowLayout
|
||||
|
||||
- (instancetype)init
|
||||
{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
self.scrollDirection = UICollectionViewScrollDirectionHorizontal;
|
||||
self.minimumInteritemSpacing = 0;
|
||||
self.minimumLineSpacing = 0;
|
||||
self.itemSize = CGSizeMake(1, 1);
|
||||
self.sectionInset = UIEdgeInsetsZero;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)prepareLayout
|
||||
{
|
||||
[super prepareLayout];
|
||||
|
||||
CGFloat rowHeight = self.calendar.preferredRowHeight;
|
||||
|
||||
if (!self.calendar.floatingMode) {
|
||||
|
||||
self.headerReferenceSize = CGSizeZero;
|
||||
|
||||
CGFloat padding = self.calendar.preferredPadding;
|
||||
if (self.scrollDirection == UICollectionViewScrollDirectionHorizontal) {
|
||||
padding = FSCalendarFloor(padding);
|
||||
rowHeight = FSCalendarFloor(rowHeight*2)*0.5; // Round to nearest multiple of 0.5. e.g. (16.8->16.5),(16.2->16.0)
|
||||
}
|
||||
self.sectionInset = UIEdgeInsetsMake(padding, 0, padding, 0);
|
||||
switch (self.calendar.scope) {
|
||||
|
||||
case FSCalendarScopeMonth: {
|
||||
|
||||
CGSize itemSize = CGSizeMake(
|
||||
self.collectionView.fs_width/7.0-(self.scrollDirection == UICollectionViewScrollDirectionVertical)*0.1,
|
||||
rowHeight
|
||||
);
|
||||
self.itemSize = itemSize;
|
||||
|
||||
break;
|
||||
}
|
||||
case FSCalendarScopeWeek: {
|
||||
|
||||
CGSize itemSize = CGSizeMake(self.collectionView.fs_width/7.0, rowHeight);
|
||||
self.itemSize = itemSize;
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
|
||||
CGFloat headerHeight = self.calendar.preferredWeekdayHeight*1.5+self.calendar.preferredHeaderHeight;
|
||||
self.headerReferenceSize = CGSizeMake(self.collectionView.fs_width, headerHeight);
|
||||
|
||||
CGSize itemSize = CGSizeMake(
|
||||
self.collectionView.fs_width/7-(self.scrollDirection == UICollectionViewScrollDirectionVertical)*0.1,
|
||||
rowHeight
|
||||
);
|
||||
self.itemSize = itemSize;
|
||||
|
||||
self.sectionInset = UIEdgeInsetsZero;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
@interface FSCalendarStickyHeader ()
|
||||
|
||||
@property (weak , nonatomic) UIView *contentView;
|
||||
@property (weak , nonatomic) UIView *separator;
|
||||
@property (weak , nonatomic) UIView *bottomBorder;
|
||||
@property (weak , nonatomic) UIImageView *weekdayView;
|
||||
|
||||
@property (assign, nonatomic) BOOL needsAdjustingViewFrame;
|
||||
|
|
@ -46,9 +46,9 @@
|
|||
self.titleLabel = label;
|
||||
|
||||
view = [[UIView alloc] initWithFrame:CGRectZero];
|
||||
view.backgroundColor = [[UIColor lightGrayColor] colorWithAlphaComponent:0.25];
|
||||
view.backgroundColor = FSCalendarStandardLineColor;
|
||||
[_contentView addSubview:view];
|
||||
self.separator = view;
|
||||
self.bottomBorder = view;
|
||||
|
||||
NSMutableArray *weekdayLabels = [NSMutableArray arrayWithCapacity:7];
|
||||
for (int i = 0; i < 7; i++) {
|
||||
|
|
@ -82,8 +82,8 @@
|
|||
|
||||
CGFloat titleHeight = [@"1" sizeWithAttributes:@{NSFontAttributeName:_appearance.preferredHeaderTitleFont}].height*1.5 + weekdayMargin*3;
|
||||
|
||||
_separator.frame = CGRectMake(0, _contentView.fs_height-weekdayHeight-weekdayMargin*2, _contentView.fs_width, 1.0);
|
||||
_titleLabel.frame = CGRectMake(0, _separator.fs_bottom-titleHeight-weekdayMargin, titleWidth,titleHeight);
|
||||
_bottomBorder.frame = CGRectMake(0, _contentView.fs_height-weekdayHeight-weekdayMargin*2, _contentView.fs_width, 1.0);
|
||||
_titleLabel.frame = CGRectMake(0, _bottomBorder.fs_bottom-titleHeight-weekdayMargin, titleWidth,titleHeight);
|
||||
|
||||
self.weekdayView.frame = CGRectMake(self.weekdayLabels.firstObject.fs_left, self.weekdayLabels.firstObject.fs_top, self.weekdayLabels.lastObject.fs_right, self.weekdayLabels.firstObject.fs_height);
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
303DE6C11DB1CA3A00F43A0F /* FSCalendarConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 303DE6C01DB1CA3A00F43A0F /* FSCalendarConstants.m */; };
|
||||
3055B1C81DA9338C002AFA13 /* FSCalendarExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3055B1C71DA9338C002AFA13 /* FSCalendarExtensions.m */; };
|
||||
306DB1461C96700800A10478 /* FSCalendarAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 306DB1451C96700800A10478 /* FSCalendarAnimator.m */; };
|
||||
3078A8B11C50C0ED003D33EF /* FSCalendarFlowLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = EEC9C03F1BDCA2D600383A07 /* FSCalendarFlowLayout.m */; };
|
||||
30921AD01DC0F5E000616B57 /* FSCalendarCollectionViewLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 30921ACF1DC0F5DF00616B57 /* FSCalendarCollectionViewLayout.m */; };
|
||||
30D458E91DB4E2DB00B163C7 /* LoadViewExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30D458E81DB4E2DB00B163C7 /* LoadViewExampleViewController.swift */; };
|
||||
EE0954AD1B97DDE0007F6964 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE0954AC1B97DDE0007F6964 /* AppDelegate.swift */; };
|
||||
EE0954AF1B97DDE0007F6964 /* InterfaceBuilderViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE0954AE1B97DDE0007F6964 /* InterfaceBuilderViewController.swift */; };
|
||||
|
|
@ -51,6 +51,8 @@
|
|||
3055B1C71DA9338C002AFA13 /* FSCalendarExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarExtensions.m; sourceTree = "<group>"; };
|
||||
306DB1441C96700800A10478 /* FSCalendarAnimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarAnimator.h; sourceTree = "<group>"; };
|
||||
306DB1451C96700800A10478 /* FSCalendarAnimator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarAnimator.m; sourceTree = "<group>"; };
|
||||
30921ACE1DC0F5DF00616B57 /* FSCalendarCollectionViewLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarCollectionViewLayout.h; sourceTree = "<group>"; };
|
||||
30921ACF1DC0F5DF00616B57 /* FSCalendarCollectionViewLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarCollectionViewLayout.m; sourceTree = "<group>"; };
|
||||
30D458E81DB4E2DB00B163C7 /* LoadViewExampleViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoadViewExampleViewController.swift; sourceTree = "<group>"; };
|
||||
EE0954A71B97DDE0007F6964 /* SwiftExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SwiftExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
EE0954AB1B97DDE0007F6964 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
|
|
@ -77,8 +79,6 @@
|
|||
EE2B62821BB6D7FE00ACB430 /* FSCalendarStickyHeader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarStickyHeader.m; sourceTree = "<group>"; };
|
||||
EEC9C03C1BDCA2D600383A07 /* FSCalendarCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarCollectionView.h; sourceTree = "<group>"; };
|
||||
EEC9C03D1BDCA2D600383A07 /* FSCalendarCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarCollectionView.m; sourceTree = "<group>"; };
|
||||
EEC9C03E1BDCA2D600383A07 /* FSCalendarFlowLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarFlowLayout.h; sourceTree = "<group>"; };
|
||||
EEC9C03F1BDCA2D600383A07 /* FSCalendarFlowLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarFlowLayout.m; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
|
|
@ -174,8 +174,8 @@
|
|||
303DE6C01DB1CA3A00F43A0F /* FSCalendarConstants.m */,
|
||||
EEC9C03C1BDCA2D600383A07 /* FSCalendarCollectionView.h */,
|
||||
EEC9C03D1BDCA2D600383A07 /* FSCalendarCollectionView.m */,
|
||||
EEC9C03E1BDCA2D600383A07 /* FSCalendarFlowLayout.h */,
|
||||
EEC9C03F1BDCA2D600383A07 /* FSCalendarFlowLayout.m */,
|
||||
30921ACE1DC0F5DF00616B57 /* FSCalendarCollectionViewLayout.h */,
|
||||
30921ACF1DC0F5DF00616B57 /* FSCalendarCollectionViewLayout.m */,
|
||||
306DB1441C96700800A10478 /* FSCalendarAnimator.h */,
|
||||
306DB1451C96700800A10478 /* FSCalendarAnimator.m */,
|
||||
EE0954D81B97DDF4007F6964 /* FSCalendarHeader.h */,
|
||||
|
|
@ -301,12 +301,12 @@
|
|||
303DE6C11DB1CA3A00F43A0F /* FSCalendarConstants.m in Sources */,
|
||||
EEC9C0401BDCA2D600383A07 /* FSCalendarCollectionView.m in Sources */,
|
||||
EE0954E81B97DDF4007F6964 /* FSCalendarHeader.m in Sources */,
|
||||
30921AD01DC0F5E000616B57 /* FSCalendarCollectionViewLayout.m in Sources */,
|
||||
303478391DB520C8007BBD2E /* TableViewController.swift in Sources */,
|
||||
EE2B62831BB6D7FE00ACB430 /* FSCalendarStickyHeader.m in Sources */,
|
||||
306DB1461C96700800A10478 /* FSCalendarAnimator.m in Sources */,
|
||||
EE0954E41B97DDF4007F6964 /* FSCalendar.m in Sources */,
|
||||
3055B1C81DA9338C002AFA13 /* FSCalendarExtensions.m in Sources */,
|
||||
3078A8B11C50C0ED003D33EF /* FSCalendarFlowLayout.m in Sources */,
|
||||
30D458E91DB4E2DB00B163C7 /* LoadViewExampleViewController.swift in Sources */,
|
||||
EE0954E51B97DDF4007F6964 /* FSCalendarAppearance.m in Sources */,
|
||||
EE0954AD1B97DDE0007F6964 /* AppDelegate.swift in Sources */,
|
||||
|
|
|
|||
|
|
@ -13,12 +13,12 @@
|
|||
300036F11D9252CB00C795DE /* FSCalendarAppearance.m in Sources */ = {isa = PBXBuildFile; fileRef = 300036D51D9252CB00C795DE /* FSCalendarAppearance.m */; };
|
||||
300036F21D9252CB00C795DE /* FSCalendarCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 300036D71D9252CB00C795DE /* FSCalendarCell.m */; };
|
||||
300036F31D9252CB00C795DE /* FSCalendarCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 300036D91D9252CB00C795DE /* FSCalendarCollectionView.m */; };
|
||||
300036F61D9252CB00C795DE /* FSCalendarFlowLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 300036E01D9252CB00C795DE /* FSCalendarFlowLayout.m */; };
|
||||
300036F71D9252CB00C795DE /* FSCalendarHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 300036E21D9252CB00C795DE /* FSCalendarHeader.m */; };
|
||||
300036F81D9252CB00C795DE /* FSCalendarScopeHandle.m in Sources */ = {isa = PBXBuildFile; fileRef = 300036E41D9252CB00C795DE /* FSCalendarScopeHandle.m */; };
|
||||
300036F91D9252CB00C795DE /* FSCalendarStickyHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 300036E61D9252CB00C795DE /* FSCalendarStickyHeader.m */; };
|
||||
300036FA1D9252CB00C795DE /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 300036E71D9252CB00C795DE /* Info.plist */; };
|
||||
3055B1CE1DA933D0002AFA13 /* FSCalendarExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3055B1CD1DA933D0002AFA13 /* FSCalendarExtensions.m */; };
|
||||
30623F6D1DC1F45600FA31B3 /* FSCalendarCollectionViewLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 30623F6C1DC1F45600FA31B3 /* FSCalendarCollectionViewLayout.m */; };
|
||||
3091756F1D7EBD4100BBEB79 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 3091756E1D7EBD4100BBEB79 /* main.m */; };
|
||||
309175721D7EBD4100BBEB79 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 309175711D7EBD4100BBEB79 /* AppDelegate.m */; };
|
||||
309175751D7EBD4100BBEB79 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 309175741D7EBD4100BBEB79 /* ViewController.m */; };
|
||||
|
|
@ -70,8 +70,6 @@
|
|||
300036D81D9252CB00C795DE /* FSCalendarCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarCollectionView.h; sourceTree = "<group>"; };
|
||||
300036D91D9252CB00C795DE /* FSCalendarCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarCollectionView.m; sourceTree = "<group>"; };
|
||||
300036DC1D9252CB00C795DE /* FSCalendarDynamicHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarDynamicHeader.h; sourceTree = "<group>"; };
|
||||
300036DF1D9252CB00C795DE /* FSCalendarFlowLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarFlowLayout.h; sourceTree = "<group>"; };
|
||||
300036E01D9252CB00C795DE /* FSCalendarFlowLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarFlowLayout.m; sourceTree = "<group>"; };
|
||||
300036E11D9252CB00C795DE /* FSCalendarHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarHeader.h; sourceTree = "<group>"; };
|
||||
300036E21D9252CB00C795DE /* FSCalendarHeader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarHeader.m; sourceTree = "<group>"; };
|
||||
300036E31D9252CB00C795DE /* FSCalendarScopeHandle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarScopeHandle.h; sourceTree = "<group>"; };
|
||||
|
|
@ -81,6 +79,8 @@
|
|||
300036E71D9252CB00C795DE /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
3055B1CC1DA933D0002AFA13 /* FSCalendarExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarExtensions.h; sourceTree = "<group>"; };
|
||||
3055B1CD1DA933D0002AFA13 /* FSCalendarExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarExtensions.m; sourceTree = "<group>"; };
|
||||
30623F6B1DC1F45600FA31B3 /* FSCalendarCollectionViewLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarCollectionViewLayout.h; sourceTree = "<group>"; };
|
||||
30623F6C1DC1F45600FA31B3 /* FSCalendarCollectionViewLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarCollectionViewLayout.m; sourceTree = "<group>"; };
|
||||
3091756A1D7EBD4100BBEB79 /* TodayExtensionExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TodayExtensionExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
3091756E1D7EBD4100BBEB79 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
309175701D7EBD4100BBEB79 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
||||
|
|
@ -135,8 +135,8 @@
|
|||
300036D81D9252CB00C795DE /* FSCalendarCollectionView.h */,
|
||||
300036D91D9252CB00C795DE /* FSCalendarCollectionView.m */,
|
||||
300036DC1D9252CB00C795DE /* FSCalendarDynamicHeader.h */,
|
||||
300036DF1D9252CB00C795DE /* FSCalendarFlowLayout.h */,
|
||||
300036E01D9252CB00C795DE /* FSCalendarFlowLayout.m */,
|
||||
30623F6B1DC1F45600FA31B3 /* FSCalendarCollectionViewLayout.h */,
|
||||
30623F6C1DC1F45600FA31B3 /* FSCalendarCollectionViewLayout.m */,
|
||||
300036E11D9252CB00C795DE /* FSCalendarHeader.h */,
|
||||
300036E21D9252CB00C795DE /* FSCalendarHeader.m */,
|
||||
300036E31D9252CB00C795DE /* FSCalendarScopeHandle.h */,
|
||||
|
|
@ -333,10 +333,10 @@
|
|||
files = (
|
||||
300036F91D9252CB00C795DE /* FSCalendarStickyHeader.m in Sources */,
|
||||
30A33A0E1DB1CA8D0039BEA3 /* FSCalendarConstants.m in Sources */,
|
||||
30623F6D1DC1F45600FA31B3 /* FSCalendarCollectionViewLayout.m in Sources */,
|
||||
300036ED1D9252CB00C795DE /* FSCalendar+Deprecated.m in Sources */,
|
||||
300036F01D9252CB00C795DE /* FSCalendarAnimator.m in Sources */,
|
||||
300036F31D9252CB00C795DE /* FSCalendarCollectionView.m in Sources */,
|
||||
300036F61D9252CB00C795DE /* FSCalendarFlowLayout.m in Sources */,
|
||||
300036F71D9252CB00C795DE /* FSCalendarHeader.m in Sources */,
|
||||
3055B1CE1DA933D0002AFA13 /* FSCalendarExtensions.m in Sources */,
|
||||
300036F81D9252CB00C795DE /* FSCalendarScopeHandle.m in Sources */,
|
||||
|
|
|
|||
Loading…
Reference in New Issue