Merge pull request #65 from WenchaoIOS/0.10.1

0.11.2
This commit is contained in:
Wenchao Ding 2015-08-18 10:00:51 +08:00
commit 0fdbb841bf
100 changed files with 1763 additions and 887 deletions

View File

@ -12,7 +12,7 @@
30BD9E691B3C027B0014534B /* LoadViewExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 30BD9E681B3C027B0014534B /* LoadViewExampleViewController.m */; };
30BD9E6C1B3C028B0014534B /* ViewDidLoadExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 30BD9E6B1B3C028B0014534B /* ViewDidLoadExampleViewController.m */; };
30BD9E721B3C06A20014534B /* FSTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 30BD9E711B3C06A20014534B /* FSTableViewController.m */; };
50D6661DFB2111E84D87FD51 /* libPods-Tests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EA143668CA544FECA6380E4A /* libPods-Tests.a */; };
506339B4FCF53B736A889B6F /* Pods_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0FCA2FD1EF8936D71E6AA1CD /* Pods_Tests.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
50F827A71AA7F86500FA2387 /* Main_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 50F827A51AA7F86500FA2387 /* Main_iPad.storyboard */; };
6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; };
6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; };
@ -28,8 +28,8 @@
6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; };
6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5B8195388D20070C39A /* InfoPlist.strings */; };
6003F5BC195388D20070C39A /* Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F5BB195388D20070C39A /* Tests.m */; };
876126946DDE685310DC1B29 /* Pods_FSCalendar.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C7DBDCA202D8EE7D60E290AD /* Pods_FSCalendar.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
EED4FE9F1A907BE60031554F /* CalendarConfigViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = EED4FE9E1A907BE60031554F /* CalendarConfigViewController.m */; };
F8C3942141E4882B65342A28 /* libPods-FSCalendar.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8F979DD533B3F7130E25C782 /* libPods-FSCalendar.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -43,6 +43,7 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
0FCA2FD1EF8936D71E6AA1CD /* Pods_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
3077D2471B1457EF00A9735E /* FSCalendar.podspec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = FSCalendar.podspec; path = ../FSCalendar.podspec; sourceTree = "<group>"; };
3077D2481B1457EF00A9735E /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = "<group>"; };
3077D2491B1457EF00A9735E /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = "<group>"; };
@ -75,10 +76,9 @@
6003F5B9195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
6003F5BB195388D20070C39A /* Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Tests.m; sourceTree = "<group>"; };
606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tests-Prefix.pch"; sourceTree = "<group>"; };
8F979DD533B3F7130E25C782 /* libPods-FSCalendar.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-FSCalendar.a"; sourceTree = BUILT_PRODUCTS_DIR; };
9CB12DDF9FF8B718CB8D5945 /* Pods-FSCalendar.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FSCalendar.debug.xcconfig"; path = "Pods/Target Support Files/Pods-FSCalendar/Pods-FSCalendar.debug.xcconfig"; sourceTree = "<group>"; };
C7DBDCA202D8EE7D60E290AD /* Pods_FSCalendar.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_FSCalendar.framework; sourceTree = BUILT_PRODUCTS_DIR; };
E12F52F167890295C53E1F43 /* Pods-Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-Tests/Pods-Tests.release.xcconfig"; sourceTree = "<group>"; };
EA143668CA544FECA6380E4A /* libPods-Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
EED4FE9D1A907BE60031554F /* CalendarConfigViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CalendarConfigViewController.h; sourceTree = "<group>"; };
EED4FE9E1A907BE60031554F /* CalendarConfigViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CalendarConfigViewController.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
@ -91,7 +91,7 @@
6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */,
6003F592195388D20070C39A /* UIKit.framework in Frameworks */,
6003F58E195388D20070C39A /* Foundation.framework in Frameworks */,
F8C3942141E4882B65342A28 /* libPods-FSCalendar.a in Frameworks */,
876126946DDE685310DC1B29 /* Pods_FSCalendar.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -102,7 +102,7 @@
6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */,
6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */,
6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */,
50D6661DFB2111E84D87FD51 /* libPods-Tests.a in Frameworks */,
506339B4FCF53B736A889B6F /* Pods_Tests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -187,8 +187,8 @@
6003F58F195388D20070C39A /* CoreGraphics.framework */,
6003F591195388D20070C39A /* UIKit.framework */,
6003F5AF195388D20070C39A /* XCTest.framework */,
8F979DD533B3F7130E25C782 /* libPods-FSCalendar.a */,
EA143668CA544FECA6380E4A /* libPods-Tests.a */,
C7DBDCA202D8EE7D60E290AD /* Pods_FSCalendar.framework */,
0FCA2FD1EF8936D71E6AA1CD /* Pods_Tests.framework */,
);
name = Frameworks;
sourceTree = "<group>";
@ -253,6 +253,7 @@
6003F587195388D20070C39A /* Frameworks */,
6003F588195388D20070C39A /* Resources */,
C2CC5DE0A1E4BDC71AE6A3C6 /* Copy Pods Resources */,
DFC1D212CDA78EB1B5B32EBD /* Embed Pods Frameworks */,
);
buildRules = (
);
@ -272,6 +273,7 @@
6003F5AB195388D20070C39A /* Frameworks */,
6003F5AC195388D20070C39A /* Resources */,
FDAAB12EF2F215F0C3388F74 /* Copy Pods Resources */,
1E9DABCC78D5EC67E83C4372 /* Embed Pods Frameworks */,
);
buildRules = (
);
@ -357,6 +359,21 @@
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n";
showEnvVarsInLog = 0;
};
1E9DABCC78D5EC67E83C4372 /* Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Embed Pods Frameworks";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Tests/Pods-Tests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
29B9F694E136BE3D75EC443F /* Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@ -387,6 +404,21 @@
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-FSCalendar/Pods-FSCalendar-resources.sh\"\n";
showEnvVarsInLog = 0;
};
DFC1D212CDA78EB1B5B32EBD /* Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Embed Pods Frameworks";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-FSCalendar/Pods-FSCalendar-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
FDAAB12EF2F215F0C3388F74 /* Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7706" systemVersion="14D136" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="j4b-fW-yef">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7706" systemVersion="14E46" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="j4b-fW-yef">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
@ -75,7 +75,7 @@
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="static" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" id="XlK-LP-ogo">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
<color key="backgroundColor" red="0.93725490196078431" green="0.93725490196078431" blue="0.95686274509803926" alpha="1" colorSpace="calibratedRGB"/>
<sections>
<tableViewSection headerTitle="Theme" id="vdB-79-nvq">
<cells>
@ -87,7 +87,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Theme1" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="4aM-Io-YPm">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -101,7 +101,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Theme2" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="sqW-RO-n92">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -115,7 +115,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Theme3" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Okt-E0-o0w">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -133,7 +133,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Lunar" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="ioG-2N-TXr">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -151,7 +151,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Horizontal" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="NXp-LK-wZV">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -165,7 +165,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Vertical" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="gHx-Qy-x52">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -209,7 +209,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Click to select" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="HjD-E2-C7p">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -227,7 +227,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Sunday" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="AOn-R1-wsC">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -241,7 +241,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Monday" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Qok-GZ-22e">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -255,7 +255,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Tuesday" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="zeq-2P-M0u">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -269,7 +269,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Wednesday" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Joo-pO-gvv">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -283,7 +283,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Thursday" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="5ti-9g-YcP">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -297,7 +297,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Friday" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="wVI-PJ-1YO">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -311,7 +311,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Saturday" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Hwf-0o-aON">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7706" systemVersion="14D136" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="x1V-gv-tFA">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7706" systemVersion="14E46" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="x1V-gv-tFA">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
@ -41,7 +41,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Storyboard Example" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="4Jp-Rp-ISm">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -58,7 +58,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="LoadView Example" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="A43-g1-NbJ">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -72,7 +72,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="ViewDidLoad Example" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="fKN-25-6hl">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -146,7 +146,7 @@
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="static" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" id="jT2-lU-gLR">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
<color key="backgroundColor" red="0.93725490196078431" green="0.93725490196078431" blue="0.95686274509803926" alpha="1" colorSpace="calibratedRGB"/>
<sections>
<tableViewSection headerTitle="Theme" id="lLy-fn-2TE">
<cells>
@ -158,7 +158,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Theme1" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="O62-83-teD">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -172,7 +172,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Theme2" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="h3n-ib-wIe">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -186,7 +186,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Theme3" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="6sG-w2-epw">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -204,7 +204,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Lunar" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="cll-gl-Oyc">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -222,7 +222,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Horizontal" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="l29-05-Mps">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -236,7 +236,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Vertical" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="wSk-45-sYI">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -280,7 +280,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Click to select" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="bo0-pq-yfc">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -298,7 +298,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Sunday" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="b1w-3T-SyL">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -312,7 +312,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Monday" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="1mu-CL-5W8">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -326,7 +326,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Tuesday" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="1TT-Ea-cLc">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -340,7 +340,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Wednesday" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="8Rm-Lk-xrc">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -354,7 +354,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Thursday" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="bfC-Bz-4vz">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -368,7 +368,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Friday" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="EaK-NQ-DfA">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@ -382,7 +382,7 @@
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Saturday" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="jZz-sF-yrb">
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>

View File

@ -25,12 +25,18 @@
FSCalendar *calendar = [[FSCalendar alloc] initWithFrame:CGRectMake(0, 64, view.frame.size.width, 300)];
calendar.dataSource = self;
calendar.delegate = self;
// calendar.flow = FSCalendarFlowVertical;
calendar.flow = FSCalendarFlowVertical;
calendar.selectedDate = [NSDate fs_dateWithYear:2015 month:2 day:1];
[view addSubview:calendar];
self.calendar = calendar;
}
- (BOOL)calendar:(FSCalendar *)calendar shouldSelectDate:(NSDate *)date
{
NSLog(@"should select date %@",[date fs_stringWithFormat:@"yyyy/MM/dd"]);
return YES;
}
- (void)calendar:(FSCalendar *)calendar didSelectDate:(NSDate *)date
{
NSLog(@"did select date %@",[date fs_stringWithFormat:@"yyyy/MM/dd"]);

View File

@ -1,4 +1,5 @@
source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
target 'FSCalendar', :exclusive => true do
pod "FSCalendar", :path => "../"
@ -9,4 +10,4 @@ target 'Tests', :exclusive => true do
pod "FSCalendar", :path => "../"
end
end

View File

@ -1,5 +1,5 @@
PODS:
- FSCalendar (0.9.2)
- FSCalendar (0.11.2)
- SSLunarDate (0.0.1)
DEPENDENCIES:
@ -11,7 +11,7 @@ EXTERNAL SOURCES:
:path: ../
SPEC CHECKSUMS:
FSCalendar: 6f8ad93d2999a225cd1e2e1024bfaeeea8ca6c4d
FSCalendar: c66e75adde90d6e6fa5f7ee04caf46277ad5b2c1
SSLunarDate: d5d7d581f7e7e157c8d704a5f053b4ebcf760bba
COCOAPODS: 0.37.2
COCOAPODS: 0.38.2

View File

@ -0,0 +1 @@
../../../../../Pod/Classes/FSCalendar+IBExtension.h

View File

@ -0,0 +1 @@
../../../../../Pod/Classes/FSCalendarHeaderTouchDeliver.h

View File

@ -1 +0,0 @@
../../../../../Pod/Classes/FSCalendar.h

View File

@ -1 +0,0 @@
../../../../../Pod/Classes/FSCalendarAppearance.h

View File

@ -1 +0,0 @@
../../../../../Pod/Classes/FSCalendarCell.h

View File

@ -1 +0,0 @@
../../../../../Pod/Classes/FSCalendarDynamicHeader.h

View File

@ -1 +0,0 @@
../../../../../Pod/Classes/FSCalendarHeader.h

View File

@ -1 +0,0 @@
../../../../../Pod/Classes/NSDate+FSExtension.h

View File

@ -1 +0,0 @@
../../../../../Pod/Classes/UIView+FSExtension.h

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSHolidayCA.h

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSHolidayCA.m

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSHolidayChina.h

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSHolidayChina.m

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSHolidayCountry.h

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSHolidayCountry.m

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSHolidayHK.h

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSHolidayHK.m

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSHolidayManager.h

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSHolidayManager.m

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSHolidayTW.h

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSHolidayTW.m

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSHolidayUK.h

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSHolidayUK.m

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSHolidayUS.h

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSHolidayUS.m

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSHolidayWest.h

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSHolidayWest.m

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSLunarDate.h

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSLunarDate.m

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSLunarDateFormatter.h

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSLunarDateFormatter.m

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSLunarDateHoliday.h

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSLunarDateHoliday.m

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/SSLunarDateType.h

View File

@ -1 +0,0 @@
../../../SSLunarDate/SSLunarDate/libLunar.h

View File

@ -1,6 +1,6 @@
{
"name": "FSCalendar",
"version": "0.9.2",
"version": "0.11.2",
"summary": "A powerful calendar which supports Appearance, Infinite Scrolling and Subtitle",
"homepage": "https://github.com/f33chobits/FSCalendar",
"screenshots": [
@ -15,7 +15,7 @@
},
"source": {
"git": "https://github.com/f33chobits/FSCalendar.git",
"tag": "0.9.2"
"tag": "0.11.2"
},
"platforms": {
"ios": "7.0"

View File

@ -1,5 +1,5 @@
PODS:
- FSCalendar (0.9.2)
- FSCalendar (0.11.2)
- SSLunarDate (0.0.1)
DEPENDENCIES:
@ -11,7 +11,7 @@ EXTERNAL SOURCES:
:path: ../
SPEC CHECKSUMS:
FSCalendar: 6f8ad93d2999a225cd1e2e1024bfaeeea8ca6c4d
FSCalendar: c66e75adde90d6e6fa5f7ee04caf46277ad5b2c1
SSLunarDate: d5d7d581f7e7e157c8d704a5f053b4ebcf760bba
COCOAPODS: 0.37.2
COCOAPODS: 0.38.2

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0700"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "6E42ABCAB4E82348D81E0957"
BuildableName = "FSCalendar.framework"
BlueprintName = "FSCalendar"
ReferencedContainer = "container:Pods.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<AdditionalOptions>
</AdditionalOptions>
<Testables>
</Testables>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -0,0 +1,6 @@
#include "FSCalendar.xcconfig"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/FSCalendar" "${PODS_ROOT}/Headers/Public"
OTHER_LDFLAGS = ${FSCALENDAR_OTHER_LDFLAGS}
PODS_ROOT = ${SRCROOT}
SKIP_INSTALL = YES

View File

@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_FSCalendar : NSObject
@end
@implementation PodsDummy_FSCalendar
@end

View File

@ -2,4 +2,3 @@
#import <UIKit/UIKit.h>
#endif
#import "Pods-Tests-environment.h"

View File

@ -0,0 +1,15 @@
#import <UIKit/UIKit.h>
#import "FSCalendar+IBExtension.h"
#import "FSCalendar.h"
#import "FSCalendarAppearance.h"
#import "FSCalendarCell.h"
#import "FSCalendarDynamicHeader.h"
#import "FSCalendarHeader.h"
#import "FSCalendarHeaderTouchDeliver.h"
#import "NSDate+FSExtension.h"
#import "UIView+FSExtension.h"
FOUNDATION_EXPORT double FSCalendarVersionNumber;
FOUNDATION_EXPORT const unsigned char FSCalendarVersionString[];

View File

@ -0,0 +1,6 @@
framework module FSCalendar {
umbrella header "FSCalendar-umbrella.h"
export *
module * { export * }
}

View File

@ -0,0 +1 @@
FSCALENDAR_OTHER_LDFLAGS = -framework "QuartzCore" -framework "UIKit"

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>org.cocoapods.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>0.11.2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>

View File

@ -1,6 +0,0 @@
#include "Pods-FSCalendar-FSCalendar.xcconfig"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/FSCalendar" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/FSCalendar" "${PODS_ROOT}/Headers/Public/SSLunarDate"
OTHER_LDFLAGS = ${PODS_FSCALENDAR_FSCALENDAR_OTHER_LDFLAGS} -ObjC
PODS_ROOT = ${SRCROOT}
SKIP_INSTALL = YES

View File

@ -1,5 +0,0 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_Pods_FSCalendar_FSCalendar : NSObject
@end
@implementation PodsDummy_Pods_FSCalendar_FSCalendar
@end

View File

@ -1 +0,0 @@
PODS_FSCALENDAR_FSCALENDAR_OTHER_LDFLAGS = -framework "QuartzCore" -framework "UIKit"

View File

@ -1,6 +0,0 @@
#include "Pods-FSCalendar-SSLunarDate.xcconfig"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/SSLunarDate" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/FSCalendar" "${PODS_ROOT}/Headers/Public/SSLunarDate"
OTHER_LDFLAGS = -ObjC
PODS_ROOT = ${SRCROOT}
SKIP_INSTALL = YES

View File

@ -1,5 +0,0 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_Pods_FSCalendar_SSLunarDate : NSObject
@end
@implementation PodsDummy_Pods_FSCalendar_SSLunarDate
@end

View File

@ -1,5 +0,0 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#endif
#import "Pods-FSCalendar-environment.h"

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>org.cocoapods.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>

View File

@ -1,20 +0,0 @@
// To check if a library is compiled with CocoaPods you
// can use the `COCOAPODS` macro definition which is
// defined in the xcconfigs so it is available in
// headers also when they are imported in the client
// project.
// FSCalendar
#define COCOAPODS_POD_AVAILABLE_FSCalendar
#define COCOAPODS_VERSION_MAJOR_FSCalendar 0
#define COCOAPODS_VERSION_MINOR_FSCalendar 9
#define COCOAPODS_VERSION_PATCH_FSCalendar 2
// SSLunarDate
#define COCOAPODS_POD_AVAILABLE_SSLunarDate
#define COCOAPODS_VERSION_MAJOR_SSLunarDate 0
#define COCOAPODS_VERSION_MINOR_SSLunarDate 0
#define COCOAPODS_VERSION_PATCH_SSLunarDate 1

View File

@ -0,0 +1,61 @@
#!/bin/sh
set -e
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
install_framework()
{
if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
local source="${BUILT_PRODUCTS_DIR}/$1"
else
local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
fi
local destination="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
if [ -L "${source}" ]; then
echo "Symlinked..."
source="$(readlink "${source}")"
fi
# use filter instead of exclude so missing patterns dont' throw errors
echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
# Resign the code if required by the build settings to avoid unstable apps
code_sign_if_enabled "${destination}/$(basename "$1")"
# Embed linked Swift runtime libraries
local basename
basename="$(basename "$1" | sed -E s/\\..+// && exit ${PIPESTATUS[0]})"
local swift_runtime_libs
swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/${basename}.framework/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]})
for lib in $swift_runtime_libs; do
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
code_sign_if_enabled "${destination}/${lib}"
done
}
# Signs a framework with the provided identity
code_sign_if_enabled() {
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
# Use the current code_sign_identitiy
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements \"$1\""
/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1"
fi
}
if [[ "$CONFIGURATION" == "Debug" ]]; then
install_framework 'Pods-FSCalendar/FSCalendar.framework'
install_framework 'Pods-FSCalendar/SSLunarDate.framework'
fi
if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework 'Pods-FSCalendar/FSCalendar.framework'
install_framework 'Pods-FSCalendar/SSLunarDate.framework'
fi

View File

@ -9,7 +9,7 @@ RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt
XCASSET_FILES=()
realpath() {
DIRECTORY=$(cd "${1%/*}" && pwd)
DIRECTORY="$(cd "${1%/*}" && pwd)"
FILENAME="${1##*/}"
echo "$DIRECTORY/$FILENAME"
}
@ -22,7 +22,7 @@ install_resource()
ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}"
;;
*.xib)
echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}"
echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}"
ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}"
;;
*.framework)
@ -58,8 +58,10 @@ install_resource()
esac
}
mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
if [[ "${ACTION}" == "install" ]]; then
mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
fi
rm -f "$RESOURCES_TO_COPY"

View File

@ -0,0 +1,6 @@
#import <UIKit/UIKit.h>
FOUNDATION_EXPORT double Pods_FSCalendarVersionNumber;
FOUNDATION_EXPORT const unsigned char Pods_FSCalendarVersionString[];

View File

@ -1,6 +1,6 @@
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/FSCalendar" "${PODS_ROOT}/Headers/Public/SSLunarDate"
OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/FSCalendar" -isystem "${PODS_ROOT}/Headers/Public/SSLunarDate"
OTHER_LDFLAGS = $(inherited) -ObjC -l"Pods-FSCalendar-FSCalendar" -l"Pods-FSCalendar-SSLunarDate" -framework "QuartzCore" -framework "UIKit"
OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS)
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/FSCalendar.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/SSLunarDate.framework/Headers"
OTHER_LDFLAGS = $(inherited) -framework "FSCalendar" -framework "SSLunarDate"
PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-FSCalendar
PODS_ROOT = ${SRCROOT}/Pods

View File

@ -0,0 +1,6 @@
framework module Pods_FSCalendar {
umbrella header "Pods-FSCalendar-umbrella.h"
export *
module * { export * }
}

View File

@ -1,6 +1,6 @@
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/FSCalendar" "${PODS_ROOT}/Headers/Public/SSLunarDate"
OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/FSCalendar" -isystem "${PODS_ROOT}/Headers/Public/SSLunarDate"
OTHER_LDFLAGS = $(inherited) -ObjC -l"Pods-FSCalendar-FSCalendar" -l"Pods-FSCalendar-SSLunarDate" -framework "QuartzCore" -framework "UIKit"
OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS)
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/FSCalendar.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/SSLunarDate.framework/Headers"
OTHER_LDFLAGS = $(inherited) -framework "FSCalendar" -framework "SSLunarDate"
PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-FSCalendar
PODS_ROOT = ${SRCROOT}/Pods

View File

@ -1,6 +0,0 @@
#include "Pods-Tests-FSCalendar.xcconfig"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/FSCalendar" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/FSCalendar" "${PODS_ROOT}/Headers/Public/SSLunarDate"
OTHER_LDFLAGS = ${PODS_TESTS_FSCALENDAR_OTHER_LDFLAGS} -ObjC
PODS_ROOT = ${SRCROOT}
SKIP_INSTALL = YES

View File

@ -1,5 +0,0 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_Pods_Tests_FSCalendar : NSObject
@end
@implementation PodsDummy_Pods_Tests_FSCalendar
@end

View File

@ -1 +0,0 @@
PODS_TESTS_FSCALENDAR_OTHER_LDFLAGS = -framework "QuartzCore" -framework "UIKit"

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>org.cocoapods.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>

View File

@ -1,14 +0,0 @@
// To check if a library is compiled with CocoaPods you
// can use the `COCOAPODS` macro definition which is
// defined in the xcconfigs so it is available in
// headers also when they are imported in the client
// project.
// FSCalendar
#define COCOAPODS_POD_AVAILABLE_FSCalendar
#define COCOAPODS_VERSION_MAJOR_FSCalendar 0
#define COCOAPODS_VERSION_MINOR_FSCalendar 9
#define COCOAPODS_VERSION_PATCH_FSCalendar 2

View File

@ -0,0 +1,59 @@
#!/bin/sh
set -e
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
install_framework()
{
if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
local source="${BUILT_PRODUCTS_DIR}/$1"
else
local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
fi
local destination="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
if [ -L "${source}" ]; then
echo "Symlinked..."
source="$(readlink "${source}")"
fi
# use filter instead of exclude so missing patterns dont' throw errors
echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
# Resign the code if required by the build settings to avoid unstable apps
code_sign_if_enabled "${destination}/$(basename "$1")"
# Embed linked Swift runtime libraries
local basename
basename="$(basename "$1" | sed -E s/\\..+// && exit ${PIPESTATUS[0]})"
local swift_runtime_libs
swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/${basename}.framework/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]})
for lib in $swift_runtime_libs; do
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
code_sign_if_enabled "${destination}/${lib}"
done
}
# Signs a framework with the provided identity
code_sign_if_enabled() {
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
# Use the current code_sign_identitiy
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements \"$1\""
/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1"
fi
}
if [[ "$CONFIGURATION" == "Debug" ]]; then
install_framework 'Pods-Tests/FSCalendar.framework'
fi
if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework 'Pods-Tests/FSCalendar.framework'
fi

View File

@ -9,7 +9,7 @@ RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt
XCASSET_FILES=()
realpath() {
DIRECTORY=$(cd "${1%/*}" && pwd)
DIRECTORY="$(cd "${1%/*}" && pwd)"
FILENAME="${1##*/}"
echo "$DIRECTORY/$FILENAME"
}
@ -22,7 +22,7 @@ install_resource()
ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}"
;;
*.xib)
echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}"
echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}"
ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}"
;;
*.framework)
@ -58,8 +58,10 @@ install_resource()
esac
}
mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
if [[ "${ACTION}" == "install" ]]; then
mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
fi
rm -f "$RESOURCES_TO_COPY"

View File

@ -0,0 +1,6 @@
#import <UIKit/UIKit.h>
FOUNDATION_EXPORT double Pods_TestsVersionNumber;
FOUNDATION_EXPORT const unsigned char Pods_TestsVersionString[];

View File

@ -1,6 +1,6 @@
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/FSCalendar" "${PODS_ROOT}/Headers/Public/SSLunarDate"
OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/FSCalendar" -isystem "${PODS_ROOT}/Headers/Public/SSLunarDate"
OTHER_LDFLAGS = $(inherited) -ObjC -l"Pods-Tests-FSCalendar" -framework "QuartzCore" -framework "UIKit"
OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS)
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/FSCalendar.framework/Headers"
OTHER_LDFLAGS = $(inherited) -framework "FSCalendar"
PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-Tests
PODS_ROOT = ${SRCROOT}/Pods

View File

@ -0,0 +1,6 @@
framework module Pods_Tests {
umbrella header "Pods-Tests-umbrella.h"
export *
module * { export * }
}

View File

@ -1,6 +1,6 @@
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/FSCalendar" "${PODS_ROOT}/Headers/Public/SSLunarDate"
OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/FSCalendar" -isystem "${PODS_ROOT}/Headers/Public/SSLunarDate"
OTHER_LDFLAGS = $(inherited) -ObjC -l"Pods-Tests-FSCalendar" -framework "QuartzCore" -framework "UIKit"
OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS)
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/FSCalendar.framework/Headers"
OTHER_LDFLAGS = $(inherited) -framework "FSCalendar"
PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-Tests
PODS_ROOT = ${SRCROOT}/Pods

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>org.cocoapods.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>0.0.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>

View File

@ -0,0 +1,5 @@
#include "SSLunarDate.xcconfig"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/SSLunarDate" "${PODS_ROOT}/Headers/Public"
PODS_ROOT = ${SRCROOT}
SKIP_INSTALL = YES

View File

@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_SSLunarDate : NSObject
@end
@implementation PodsDummy_SSLunarDate
@end

View File

@ -0,0 +1,32 @@
#import <UIKit/UIKit.h>
#import "libLunar.h"
#import "SSHolidayCA.h"
#import "SSHolidayCA.m"
#import "SSHolidayChina.h"
#import "SSHolidayChina.m"
#import "SSHolidayCountry.h"
#import "SSHolidayCountry.m"
#import "SSHolidayHK.h"
#import "SSHolidayHK.m"
#import "SSHolidayManager.h"
#import "SSHolidayManager.m"
#import "SSHolidayTW.h"
#import "SSHolidayTW.m"
#import "SSHolidayUK.h"
#import "SSHolidayUK.m"
#import "SSHolidayUS.h"
#import "SSHolidayUS.m"
#import "SSHolidayWest.h"
#import "SSHolidayWest.m"
#import "SSLunarDate.h"
#import "SSLunarDate.m"
#import "SSLunarDateFormatter.h"
#import "SSLunarDateFormatter.m"
#import "SSLunarDateHoliday.h"
#import "SSLunarDateHoliday.m"
#import "SSLunarDateType.h"
FOUNDATION_EXPORT double SSLunarDateVersionNumber;
FOUNDATION_EXPORT const unsigned char SSLunarDateVersionString[];

View File

@ -0,0 +1,6 @@
framework module SSLunarDate {
umbrella header "SSLunarDate-umbrella.h"
export *
module * { export * }
}

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s|
s.name = "FSCalendar"
s.version = "0.9.3"
s.version = "0.11.2"
s.summary = "A powerful calendar which supports Appearance, Infinite Scrolling and Subtitle"
s.homepage = "https://github.com/f33chobits/FSCalendar"

View File

@ -0,0 +1,50 @@
//
// FSCalendar+IBExtension.h
// Pods
//
// Created by dingwenchao on 8/14/15.
//
// 注意: 这些方法仅仅为了在IB中使用不建议直接调用。这些方法在calendar.appearance中使用。如: calendar.appearance.eventColor
// Warning: For IB usage only. Directly calling these methods is deprecated. Use calendar.appearance(FSCalendarAppearance) instead
#import "FSCalendar.h"
IB_DESIGNABLE
@interface FSCalendar (IBExtension)
@property (assign, nonatomic) IBInspectable BOOL autoAdjustTitleSize;
@property (assign, nonatomic) IBInspectable CGFloat titleTextSize;
@property (assign, nonatomic) IBInspectable CGFloat subtitleTextSize;
@property (assign, nonatomic) IBInspectable CGFloat weekdayTextSize;
@property (assign, nonatomic) IBInspectable CGFloat headerTitleTextSize;
@property (strong, nonatomic) IBInspectable UIColor *eventColor;
@property (strong, nonatomic) IBInspectable UIColor *weekdayTextColor;
@property (strong, nonatomic) IBInspectable UIColor *headerTitleColor;
@property (strong, nonatomic) IBInspectable NSString *headerDateFormat;
@property (assign, nonatomic) IBInspectable CGFloat headerMinimumDissolvedAlpha;
@property (strong, nonatomic) IBInspectable UIColor *titleDefaultColor;
@property (strong, nonatomic) IBInspectable UIColor *titleSelectionColor;
@property (strong, nonatomic) IBInspectable UIColor *titleTodayColor;
@property (strong, nonatomic) IBInspectable UIColor *titlePlaceholderColor;
@property (strong, nonatomic) IBInspectable UIColor *titleWeekendColor;
@property (strong, nonatomic) IBInspectable UIColor *subtitleDefaultColor;
@property (strong, nonatomic) IBInspectable UIColor *subtitleSelectionColor;
@property (strong, nonatomic) IBInspectable UIColor *subtitleTodayColor;
@property (strong, nonatomic) IBInspectable UIColor *subtitlePlaceholderColor;
@property (strong, nonatomic) IBInspectable UIColor *subtitleWeekendColor;
@property (strong, nonatomic) IBInspectable UIColor *selectionColor;
@property (strong, nonatomic) IBInspectable UIColor *todayColor;
@property (assign, nonatomic) IBInspectable FSCalendarCellStyle cellStyle;
// For IB Preview. Not actually affect.
@property (assign, nonatomic) IBInspectable BOOL fakeSubtitles;
@property (assign, nonatomic) IBInspectable NSInteger fakedSelectedDay;
@end

View File

@ -0,0 +1,317 @@
//
// FSCalendar+IBExtension.m
// Pods
//
// Created by dingwenchao on 8/14/15.
//
//
#import "FSCalendar+IBExtension.h"
@implementation FSCalendar (IBExtension)
#pragma mark - autoAdjustTitleSize
- (void)setAutoAdjustTitleSize:(BOOL)autoAdjustTitleSize
{
self.appearance.autoAdjustTitleSize = autoAdjustTitleSize;
}
- (BOOL)autoAdjustTitleSize
{
return self.appearance.autoAdjustTitleSize;
}
#pragma mark - titleTextSize
- (void)setTitleTextSize:(CGFloat)titleTextSize
{
self.appearance.titleTextSize = titleTextSize;
}
- (CGFloat)titleTextSize
{
return self.appearance.titleTextSize;
}
#pragma mark - subtitleTextSize
- (void)setSubtitleTextSize:(CGFloat)subtitleTextSize
{
self.appearance.subtitleTextSize = subtitleTextSize;
}
- (CGFloat)subtitleTextSize
{
return self.appearance.subtitleTextSize;
}
#pragma mark - weekdayTextSize
- (void)setWeekdayTextSize:(CGFloat)weekdayTextSize
{
self.appearance.weekdayTextSize = weekdayTextSize;
}
- (CGFloat)weekdayTextSize
{
return self.appearance.weekdayTextSize;
}
#pragma mark - headerTitleTextSize
- (void)setHeaderTitleTextSize:(CGFloat)headerTitleTextSize
{
self.appearance.headerTitleTextSize = headerTitleTextSize;
}
- (CGFloat)headerTitleTextSize
{
return self.appearance.headerTitleTextSize;
}
#pragma mark - eventColor
- (void)setEventColor:(UIColor *)eventColor
{
self.appearance.eventColor = eventColor;
}
- (UIColor *)eventColor
{
return self.appearance.eventColor;
}
#pragma mark - weekdayTextColor
- (void)setWeekdayTextColor:(UIColor *)weekdayTextColor
{
self.appearance.weekdayTextColor = weekdayTextColor;
}
- (UIColor *)weekdayTextColor
{
return self.appearance.weekdayTextColor;
}
#pragma mark - headerTitleColor
- (void)setHeaderTitleColor:(UIColor *)headerTitleColor
{
self.appearance.headerTitleColor = headerTitleColor;
}
- (UIColor *)headerTitleColor
{
return self.appearance.headerTitleColor;
}
#pragma mark - headerDateFormat
- (void)setHeaderDateFormat:(NSString *)headerDateFormat
{
self.appearance.headerDateFormat = headerDateFormat;
}
- (NSString *)headerDateFormat
{
return self.appearance.headerDateFormat;
}
#pragma mark - headerMinimumDissolvedAlpha
- (void)setHeaderMinimumDissolvedAlpha:(CGFloat)headerMinimumDissolvedAlpha
{
self.appearance.headerMinimumDissolvedAlpha = headerMinimumDissolvedAlpha;
}
- (CGFloat)headerMinimumDissolvedAlpha
{
return self.appearance.headerMinimumDissolvedAlpha;
}
#pragma mark - titleDefaultColor
- (void)setTitleDefaultColor:(UIColor *)titleDefaultColor
{
self.appearance.titleDefaultColor = titleDefaultColor;
}
- (UIColor *)titleDefaultColor
{
return self.appearance.titleDefaultColor;
}
#pragma mark - titleSelectionColor
- (void)setTitleSelectionColor:(UIColor *)titleSelectionColor
{
self.appearance.titleSelectionColor = titleSelectionColor;
}
- (UIColor *)titleSelectionColor
{
return self.appearance.titleSelectionColor;
}
#pragma mark - titleTodayColor
- (void)setTitleTodayColor:(UIColor *)titleTodayColor
{
self.appearance.titleTodayColor = titleTodayColor;
}
- (UIColor *)titleTodayColor
{
return self.appearance.titleTodayColor;
}
#pragma mark - titlePlaceholderColor
- (void)setTitlePlaceholderColor:(UIColor *)titlePlaceholderColor
{
self.appearance.titlePlaceholderColor = titlePlaceholderColor;
}
- (UIColor *)titlePlaceholderColor
{
return self.appearance.titlePlaceholderColor;
}
#pragma mark - titleWeekendColor
- (void)setTitleWeekendColor:(UIColor *)titleWeekendColor
{
self.appearance.titleWeekendColor = titleWeekendColor;
}
- (UIColor *)titleWeekendColor
{
return self.appearance.titleWeekendColor;
}
#pragma mark - subtitleDefaultColor
- (void)setSubtitleDefaultColor:(UIColor *)subtitleDefaultColor
{
self.appearance.subtitleDefaultColor = subtitleDefaultColor;
}
- (UIColor *)subtitleDefaultColor
{
return self.appearance.subtitleDefaultColor;
}
#pragma mark - subtitleSelectionColor
- (void)setSubtitleSelectionColor:(UIColor *)subtitleSelectionColor
{
self.appearance.subtitleSelectionColor = subtitleSelectionColor;
}
- (UIColor *)subtitleSelectionColor
{
return self.appearance.subtitleSelectionColor;
}
#pragma mark - subtitleTodayColor
- (void)setSubtitleTodayColor:(UIColor *)subtitleTodayColor
{
self.appearance.subtitleTodayColor = subtitleTodayColor;
}
- (UIColor *)subtitleTodayColor
{
return self.appearance.subtitleTodayColor;
}
#pragma mark - subtitlePlaceholderColor
- (void)setSubtitlePlaceholderColor:(UIColor *)subtitlePlaceholderColor
{
self.appearance.subtitlePlaceholderColor = subtitlePlaceholderColor;
}
- (UIColor *)subtitlePlaceholderColor
{
return self.appearance.subtitlePlaceholderColor;
}
#pragma mark - subtitleWeekendColor
- (void)setSubtitleWeekendColor:(UIColor *)subtitleWeekendColor
{
self.appearance.subtitleWeekendColor = subtitleWeekendColor;
}
- (UIColor *)subtitleWeekendColor
{
return self.appearance.subtitleWeekendColor;
}
#pragma mark - selectionColor
- (void)setSelectionColor:(UIColor *)selectionColor
{
self.appearance.selectionColor = selectionColor;
}
- (UIColor *)selectionColor
{
return self.appearance.selectionColor;
}
#pragma mark - todayColor
- (void)setTodayColor:(UIColor *)todayColor
{
self.appearance.todayColor = todayColor;
}
- (UIColor *)todayColor
{
return self.appearance.todayColor;
}
#pragma mark - cellStyle
- (void)setCellStyle:(FSCalendarCellStyle)cellStyle
{
self.appearance.cellStyle = cellStyle;
}
- (FSCalendarCellStyle)cellStyle
{
return self.appearance.cellStyle;
}
#pragma mark - fakeSubtitles
- (void)setFakeSubtitles:(BOOL)fakeSubtitles
{
self.appearance.fakeSubtitles = fakeSubtitles;
}
- (BOOL)fakeSubtitles
{
return self.appearance.fakeSubtitles;
}
#pragma mark - fakedSelectedDay
- (void)setFakedSelectedDay:(NSInteger)fakedSelectedDay
{
self.appearance.fakedSelectedDay = fakedSelectedDay;
}
- (NSInteger)fakedSelectedDay
{
return self.appearance.fakedSelectedDay;
}
@end

View File

@ -11,10 +11,6 @@
@class FSCalendar;
#ifndef IBInspectable
#define IBInspectable
#endif
typedef NS_ENUM(NSInteger, FSCalendarFlow) {
FSCalendarFlowVertical ,
FSCalendarFlowHorizontal
@ -50,15 +46,16 @@ typedef NS_ENUM(NSInteger, FSCalendarCellState) {
@end
IB_DESIGNABLE
@interface FSCalendar : UIView
@property (weak, nonatomic) IBOutlet id<FSCalendarDelegate> delegate;
@property (weak, nonatomic) IBOutlet id<FSCalendarDataSource> dataSource;
@property (strong, nonatomic) NSDate *currentDate;
@property (strong, nonatomic) NSDate *today;
@property (strong, nonatomic) NSDate *selectedDate;
@property (strong, nonatomic) NSDate *currentMonth;
@property (strong, nonatomic) NSLocale *locale;
@property (assign, nonatomic) FSCalendarFlow flow;
@property (assign, nonatomic) IBInspectable NSUInteger firstWeekday;

View File

@ -14,9 +14,13 @@
#import "FSCalendarDynamicHeader.h"
#import "FSCalendarHeaderTouchDeliver.h"
#define kDefaultHeaderHeight 40
#define kWeekHeight roundf(self.fs_height/12)
static BOOL FSCalendarInInterfaceBuilder = NO;
@interface FSCalendar (DataSourceAndDelegate)
- (BOOL)hasEventForDate:(NSDate *)date;
@ -44,6 +48,7 @@
@property (weak , nonatomic) UICollectionView *collectionView;
@property (weak , nonatomic) UICollectionViewFlowLayout *collectionViewFlowLayout;
@property (weak , nonatomic) FSCalendarHeader *header;
@property (weak , nonatomic) FSCalendarHeaderTouchDeliver *deliver;
@property (strong, nonatomic) NSCalendar *calendar;
@property (assign, nonatomic) BOOL supressEvent;
@ -61,10 +66,13 @@
- (BOOL)isDateInRange:(NSDate *)date;
- (void)setSelectedDate:(NSDate *)selectedDate animate:(BOOL)animate forPlaceholder:(BOOL)forPlaceholder;
@end
@implementation FSCalendar
@dynamic locale;
@synthesize flow = _flow, firstWeekday = _firstWeekday;
#pragma mark - Life Cycle && Initialize
@ -98,13 +106,14 @@
_headerHeight = -1;
_calendar = [NSCalendar currentCalendar];
NSArray *weekSymbols = [_calendar shortStandaloneWeekdaySymbols];
NSArray *weekSymbols = _calendar.shortStandaloneWeekdaySymbols;
_weekdays = [NSMutableArray arrayWithCapacity:weekSymbols.count];
UIFont *weekdayFont = [UIFont systemFontOfSize:_appearance.weekdayTextSize];
for (int i = 0; i < weekSymbols.count; i++) {
UILabel *weekdayLabel = [[UILabel alloc] initWithFrame:CGRectZero];
weekdayLabel.text = weekSymbols[i];
weekdayLabel.textAlignment = NSTextAlignmentCenter;
weekdayLabel.font = _appearance.weekdayFont;
weekdayLabel.font = weekdayFont;
weekdayLabel.textColor = _appearance.weekdayTextColor;
[_weekdays addObject:weekdayLabel];
[self addSubview:weekdayLabel];
@ -118,6 +127,12 @@
[self addSubview:header];
self.header = header;
FSCalendarHeaderTouchDeliver *deliver = [[FSCalendarHeaderTouchDeliver alloc] initWithFrame:CGRectZero];
deliver.header = header;
deliver.calendar = self;
[self addSubview:deliver];
self.deliver = deliver;
UICollectionViewFlowLayout *collectionViewFlowLayout = [[UICollectionViewFlowLayout alloc] init];
collectionViewFlowLayout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
collectionViewFlowLayout.minimumInteritemSpacing = 0;
@ -142,8 +157,8 @@
[self addSubview:collectionView];
self.collectionView = collectionView;
_currentDate = [NSDate date].fs_dateByIgnoringTimeComponents;
_currentMonth = [_currentDate copy];
_today = [NSDate date].fs_dateByIgnoringTimeComponents;
_currentMonth = [_today copy];
CALayer *topBorderLayer = [CALayer layer];
topBorderLayer.backgroundColor = [[UIColor lightGrayColor] colorWithAlphaComponent:0.2].CGColor;
@ -170,6 +185,7 @@
_supressEvent = YES;
CGFloat padding = self.fs_height * 0.01;
_header.frame = CGRectMake(0, 0, self.fs_width, _headerHeight == -1 ? kDefaultHeaderHeight : _headerHeight);
_deliver.frame = _header.frame;
_collectionView.frame = CGRectMake(0, kWeekHeight+_header.fs_height, self.fs_width, self.fs_height-kWeekHeight-_header.fs_height);
_collectionView.contentInset = UIEdgeInsetsZero;
@ -220,6 +236,13 @@
}
}
- (void)prepareForInterfaceBuilder
{
FSCalendarInInterfaceBuilder = YES;
NSDate *date = [NSDate date];
self.selectedDate = [NSDate fs_dateWithYear:date.fs_year month:date.fs_month day:_appearance.fakedSelectedDay?:1];
}
#pragma mark - UICollectionView dataSource/delegate
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
@ -251,7 +274,8 @@
{
FSCalendarCell *cell = (FSCalendarCell *)[collectionView cellForItemAtIndexPath:indexPath];
if (cell.isPlaceholder) {
[self setSelectedDate:cell.date animate:YES];
[self setSelectedDate:cell.date animate:YES forPlaceholder:YES];
return;
} else {
[cell performSelecting];
_selectedDate = [self dateForIndexPath:indexPath];
@ -259,7 +283,6 @@
[self didSelectDate:_selectedDate];
}
}
// CollectionViewplaceholder''
// There is no stored 'selection' state for placeholder cell, so the 'simulated selection' state needs to be recalculated.
[collectionView.visibleCells enumerateObjectsUsingBlock:^(FSCalendarCell *cell, NSUInteger idx, BOOL *stop) {
@ -274,9 +297,8 @@
{
FSCalendarCell *cell = (FSCalendarCell *)[collectionView cellForItemAtIndexPath:indexPath];
if (cell.isPlaceholder) {
// [setSelectedDate:animated:]
// If selecting a placeholder cell, will get back here and call the delegate method below from [setSelectedDate:animated:]
return [self isDateInRange:cell.date] && ![cell.date fs_isEqualToDateForDay:_selectedDate];
[self setSelectedDate:cell.date animate:YES forPlaceholder:YES];
return NO;
}
BOOL shouldSelect = ![collectionView.indexPathsForSelectedItems containsObject:indexPath];
if (shouldSelect && cell.date && [self isDateInRange:cell.date] && !_supressEvent) {
@ -381,19 +403,35 @@
- (void)setSelectedDate:(NSDate *)selectedDate
{
if (![self isDateInRange:selectedDate]) {
[NSException raise:@"selectedDate out of range" format:nil];
}
[self setSelectedDate:selectedDate animate:NO];
}
- (void)setSelectedDate:(NSDate *)selectedDate animate:(BOOL)animate
{
[self setSelectedDate:selectedDate animate:animate forPlaceholder:NO];
}
- (void)setSelectedDate:(NSDate *)selectedDate animate:(BOOL)animate forPlaceholder:(BOOL)forPlaceholder
{
if (![self isDateInRange:selectedDate]) {
[NSException raise:@"selectedDate out of range" format:nil];
}
selectedDate = [selectedDate fs_daysFrom:_minimumDate] < 0 ? [NSDate fs_dateWithYear:_minimumDate.fs_year month:_minimumDate.fs_month day:selectedDate.fs_day] : selectedDate;
selectedDate = [selectedDate fs_daysFrom:_maximumDate] > 0 ? [NSDate fs_dateWithYear:_maximumDate.fs_year month:_maximumDate.fs_month day:selectedDate.fs_day] : selectedDate;
selectedDate = selectedDate.fs_dateByIgnoringTimeComponents;
NSIndexPath *selectedIndexPath = [self indexPathForDate:selectedDate];
if ([self collectionView:_collectionView shouldSelectItemAtIndexPath:selectedIndexPath]) {
BOOL shouldSelect = YES;
if (forPlaceholder) {
BOOL shouldSelect = ![_collectionView.indexPathsForSelectedItems containsObject:selectedIndexPath];
shouldSelect &= !_supressEvent;
shouldSelect &= [self shouldSelectDate:selectedDate];
if (!shouldSelect) return;
} else {
shouldSelect = [self collectionView:_collectionView shouldSelectItemAtIndexPath:selectedIndexPath];
}
if (shouldSelect) {
if (_collectionView.indexPathsForSelectedItems.count && _selectedDate) {
NSIndexPath *currentIndexPath = [self indexPathForDate:_selectedDate];
[_collectionView deselectItemAtIndexPath:currentIndexPath animated:YES];
@ -402,6 +440,7 @@
[_collectionView selectItemAtIndexPath:selectedIndexPath animated:NO scrollPosition:UICollectionViewScrollPositionNone];
[self collectionView:_collectionView didSelectItemAtIndexPath:selectedIndexPath];
}
if (!_collectionView.tracking && !_collectionView.decelerating) {
[self willChangeValueForKey:@"currentMonth"];
_currentMonth = [selectedDate copy];
@ -415,18 +454,16 @@
}
}
- (void)setCurrentDate:(NSDate *)currentDate
- (void)setToday:(NSDate *)today
{
if (![self isDateInRange:currentDate]) {
if (![self isDateInRange:today]) {
[NSException raise:@"currentDate out of range" format:nil];
}
if (![_currentDate fs_isEqualToDateForDay:currentDate]) {
currentDate = currentDate.fs_dateByIgnoringTimeComponents;
_currentDate = [currentDate copy];
_currentMonth = [currentDate copy];
dispatch_async(dispatch_get_main_queue(), ^{
[self scrollToDate:_currentDate];
});
if (![_today fs_isEqualToDateForDay:today]) {
today = today.fs_dateByIgnoringTimeComponents;
_today = today;
_currentMonth = [today copy];
[self setNeedsAdjusting];
}
}
@ -462,6 +499,20 @@
}
}
- (void)setLocale:(NSLocale *)locale
{
if (![_calendar.locale isEqual:locale]) {
_calendar.locale = locale;
_header.dateFormatter.locale = locale;
[self reloadData];
}
}
- (NSLocale *)locale
{
return _calendar.locale;
}
#pragma mark - Public
- (void)reloadData
@ -472,9 +523,17 @@
_header.scrollDirection = self.collectionViewFlowLayout.scrollDirection;
[_header reloadData];
[_weekdays setValue:_appearance.weekdayFont forKey:@"font"];
[_weekdays setValue:[UIFont systemFontOfSize:_appearance.weekdayTextSize] forKey:@"font"];
CGFloat width = self.fs_width/_weekdays.count;
CGFloat height = kWeekHeight;
[_calendar.shortStandaloneWeekdaySymbols enumerateObjectsUsingBlock:^(NSString *symbol, NSUInteger index, BOOL *stop) {
if (index >= _weekdays.count) {
*stop = YES;
return;
}
UILabel *weekdayLabel = _weekdays[index];
weekdayLabel.text = symbol;
}];
[_weekdays enumerateObjectsUsingBlock:^(UILabel *weekdayLabel, NSUInteger idx, BOOL *stop) {
NSUInteger absoluteIndex = ((idx-(_firstWeekday-1))+7)%7;
weekdayLabel.frame = CGRectMake(absoluteIndex * width,
@ -482,7 +541,6 @@
width,
height);
}];
[_collectionView reloadData];
if (_selectedDate) {
_supressEvent = YES;
@ -599,7 +657,7 @@
if (_dataSource && [_dataSource respondsToSelector:@selector(calendar:subtitleForDate:)]) {
return [_dataSource calendar:self subtitleForDate:date];
}
return nil;
return FSCalendarInInterfaceBuilder && _appearance.fakeSubtitles ? @"test" : nil;
}
- (UIImage *)imageForDate:(NSDate *)date
@ -615,7 +673,7 @@
if (_dataSource && [_dataSource respondsToSelector:@selector(calendar:hasEventForDate:)]) {
return [_dataSource calendar:self hasEventForDate:date];
}
return NO;
return FSCalendarInInterfaceBuilder && ([@[@3,@5,@8,@16,@20,@25] containsObject:@(date.fs_day)]);
}
- (NSDate *)minimumDateForCalendar

View File

@ -20,15 +20,16 @@ typedef NS_OPTIONS(NSInteger, FSCalendarCellStyle) {
@property (weak , nonatomic) FSCalendar *calendar;
@property (strong, nonatomic) UIFont *titleFont;
@property (strong, nonatomic) UIFont *subtitleFont;
@property (strong, nonatomic) UIFont *weekdayFont;
@property (assign, nonatomic) CGFloat titleTextSize;
@property (assign, nonatomic) CGFloat subtitleTextSize;
@property (assign, nonatomic) CGFloat weekdayTextSize;
@property (assign, nonatomic) CGFloat headerTitleTextSize;
@property (strong, nonatomic) UIColor *eventColor;
@property (strong, nonatomic) UIColor *weekdayTextColor;
@property (strong, nonatomic) UIColor *headerTitleColor;
@property (strong, nonatomic) NSString *headerDateFormat;
@property (strong, nonatomic) UIFont *headerTitleFont;
@property (assign, nonatomic) CGFloat headerMinimumDissolvedAlpha;
@property (strong, nonatomic) UIColor *titleDefaultColor;
@ -49,4 +50,8 @@ typedef NS_OPTIONS(NSInteger, FSCalendarCellStyle) {
@property (assign, nonatomic) FSCalendarCellStyle cellStyle;
@property (assign, nonatomic) BOOL autoAdjustTitleSize;
@property (assign, nonatomic) BOOL fakeSubtitles;
@property (assign, nonatomic) NSInteger fakedSelectedDay;
@end

View File

@ -33,10 +33,10 @@
_autoAdjustTitleSize = YES;
_titleFont = [UIFont systemFontOfSize:15];
_subtitleFont = [UIFont systemFontOfSize:10];
_weekdayFont = [UIFont systemFontOfSize:15];
_headerTitleFont = [UIFont systemFontOfSize:15];
_titleTextSize = 15;
_subtitleTextSize = 10;
_weekdayTextSize = 15;
_headerTitleTextSize = 15;
_headerTitleColor = kBlueText;
_headerDateFormat = @"MMMM yyyy";
_headerMinimumDissolvedAlpha = 0.2;
@ -260,10 +260,10 @@
}
}
- (void)setTitleFont:(UIFont *)font
- (void)setTitleTextSize:(CGFloat)titleTextSize
{
if (_titleFont != font) {
_titleFont = font;
if (_titleTextSize != titleTextSize) {
_titleTextSize = titleTextSize;
if (_autoAdjustTitleSize) {
return;
}
@ -271,10 +271,10 @@
}
}
- (void)setSubtitleFont:(UIFont *)font
- (void)setSubtitleTextSize:(CGFloat)subtitleTextSize
{
if (_subtitleFont != font) {
_subtitleFont = font;
if (_subtitleTextSize != subtitleTextSize) {
_subtitleTextSize = subtitleTextSize;
if (_autoAdjustTitleSize) {
return;
}
@ -291,11 +291,12 @@
}
- (void)setWeekdayFont:(UIFont *)weekdayFont
- (void)setWeekdayTextSize:(CGFloat)weekdayTextSize
{
if (![_weekdayFont isEqual:weekdayFont]) {
_weekdayFont = weekdayFont;
[_calendar.weekdays setValue:weekdayFont forKeyPath:@"font"];
if (_weekdayTextSize != weekdayTextSize) {
_weekdayTextSize = weekdayTextSize;
UIFont *font = [UIFont systemFontOfSize:weekdayTextSize];
[_calendar.weekdays setValue:font forKey:@"font"];
}
}
@ -307,10 +308,10 @@
}
}
- (void)setHeaderTitleFont:(UIFont *)font
- (void)setHeaderTitleTextSize:(CGFloat)headerTitleTextSize
{
if (![_headerTitleFont isEqual:font]) {
_headerTitleFont = font;
if (_headerTitleTextSize != headerTitleTextSize) {
_headerTitleTextSize = headerTitleTextSize;
[_calendar.header.collectionView reloadData];
}
}
@ -349,15 +350,15 @@
- (void)adjustTitleIfNecessary
{
if (_autoAdjustTitleSize) {
_titleFont = [_titleFont fontWithSize:_calendar.collectionView.fs_height/3/6];
_subtitleFont = [_subtitleFont fontWithSize:_calendar.collectionView.fs_height/4.5/6];
_headerTitleFont = [_headerTitleFont fontWithSize:_titleFont.pointSize+3];
_weekdayFont = _titleFont;
_titleTextSize = _calendar.collectionView.fs_height/3/6;
_subtitleTextSize = _calendar.collectionView.fs_height/4.5/6;
_headerTitleTextSize = _titleTextSize + 3;
_weekdayTextSize = _titleTextSize;
// reload appearance
[_calendar.collectionView.visibleCells makeObjectsPerformSelector:@selector(setNeedsLayout)];
[_calendar.header.collectionView reloadData];
[_calendar.weekdays setValue:_weekdayFont forKeyPath:@"font"];
[_calendar.weekdays setValue:[UIFont systemFontOfSize:_weekdayTextSize] forKeyPath:@"font"];
}
}

View File

@ -21,12 +21,21 @@
@property (weak, nonatomic) UILabel *titleLabel;
@property (weak, nonatomic) UILabel *subtitleLabel;
@property (assign, nonatomic) BOOL hasEvent;
@property (weak, nonatomic) CAShapeLayer *backgroundLayer;
@property (weak, nonatomic) CAShapeLayer *eventLayer;
@property (weak, nonatomic) CALayer *imageLayer;
@property (readonly, nonatomic) BOOL today;
@property (readonly, nonatomic) BOOL weekend;
@property (readonly, nonatomic) FSCalendar *calendar;
@property (readonly, getter = isPlaceholder) BOOL placeholder;
@property (assign, nonatomic) BOOL hasEvent;
@property (assign, nonatomic) BOOL deselecting;
- (UIColor *)colorForCurrentStateInDictionary:(NSDictionary *)dictionary;
- (void)performSelecting;
- (void)performDeselecting;
@end

View File

@ -14,22 +14,6 @@
#define kAnimationDuration 0.15
@interface FSCalendarCell ()
@property (weak, nonatomic) CAShapeLayer *backgroundLayer;
@property (weak, nonatomic) CAShapeLayer *eventLayer;
@property (weak, nonatomic) CALayer *imageLayer;
@property (readonly, nonatomic) BOOL today;
@property (readonly, nonatomic) BOOL weekend;
@property (readonly, nonatomic) FSCalendar *calendar;
@property (assign, nonatomic) BOOL deselecting;
- (UIColor *)colorForCurrentStateInDictionary:(NSDictionary *)dictionary;
@end
@implementation FSCalendarCell
#pragma mark - Init and life cycle
@ -141,9 +125,9 @@
- (void)configureCell
{
_titleLabel.font = _appearance.titleFont;
_titleLabel.font = [UIFont systemFontOfSize:_appearance.titleTextSize];
_titleLabel.text = [NSString stringWithFormat:@"%@",@(_date.fs_day)];
_subtitleLabel.font = _appearance.subtitleFont;
_subtitleLabel.font = [UIFont systemFontOfSize:_appearance.subtitleTextSize];
_subtitleLabel.text = _subtitle;
_titleLabel.textColor = [self colorForCurrentStateInDictionary:_appearance.titleColors];
_subtitleLabel.textColor = [self colorForCurrentStateInDictionary:_appearance.subtitleColors];
@ -191,7 +175,7 @@
- (BOOL)isToday
{
return [_date fs_isEqualToDateForDay:self.calendar.currentDate];
return [_date fs_isEqualToDateForDay:self.calendar.today];
}
- (BOOL)isWeekend
@ -226,3 +210,6 @@
}
@end

View File

@ -39,6 +39,7 @@
@interface FSCalendarHeader (Dynamic)
@property (readonly, nonatomic) UICollectionView *collectionView;
@property (readonly, nonatomic) NSDateFormatter *dateFormatter;
@end

View File

@ -79,8 +79,10 @@
[super layoutSubviews];
_collectionView.frame = CGRectMake(0, self.fs_height*0.1, self.fs_width, self.fs_height*0.9);
_collectionView.contentInset = UIEdgeInsetsZero;
_collectionViewFlowLayout.itemSize = CGSizeMake(_collectionView.fs_width * 0.5,
_collectionView.fs_height);
_collectionViewFlowLayout.itemSize = CGSizeMake(
_collectionView.fs_width*((_scrollDirection==UICollectionViewScrollDirectionHorizontal)?0.5:1),
_collectionView.fs_height
);
if (_needsAdjustingMonthPosition) {
_needsAdjustingMonthPosition = NO;
if (self.scrollDirection == UICollectionViewScrollDirectionHorizontal) {
@ -110,7 +112,7 @@
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
FSCalendarHeaderCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];
cell.titleLabel.font = _appearance.headerTitleFont;
cell.titleLabel.font = [UIFont systemFontOfSize:_appearance.headerTitleTextSize];
cell.titleLabel.textColor = _appearance.headerTitleColor;
_dateFormatter.dateFormat = _appearance.headerDateFormat;
if (_scrollDirection == UICollectionViewScrollDirectionHorizontal) {
@ -159,7 +161,8 @@
);
_collectionView.contentOffset = newOffset;
if (scrollDirection == UICollectionViewScrollDirectionVertical) {
_collectionViewFlowLayout.sectionInset = UIEdgeInsetsMake(0, self.fs_width*0.25, 0, self.fs_width*0.25);
CGFloat inset = self.fs_width * 0.25;
_collectionViewFlowLayout.sectionInset = UIEdgeInsetsMake(0, inset, 0, inset);
} else {
_collectionViewFlowLayout.sectionInset = UIEdgeInsetsZero;
}
@ -198,6 +201,8 @@
if (self) {
UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectZero];
titleLabel.textAlignment = NSTextAlignmentCenter;
titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
titleLabel.numberOfLines = 0;
[self.contentView addSubview:titleLabel];
self.titleLabel = titleLabel;
}

View File

@ -0,0 +1,18 @@
//
// FSCalendarHeaderTouchDeliver.h
// Pods
//
// Created by dingwenchao on 8/17/15.
//
//
#import <UIKit/UIKit.h>
@class FSCalendar, FSCalendarHeader;
@interface FSCalendarHeaderTouchDeliver : UIView
@property (weak, nonatomic) FSCalendar *calendar;
@property (weak, nonatomic) FSCalendarHeader *header;
@end

View File

@ -0,0 +1,25 @@
//
// FSCalendarHeaderTouchDeliver.m
// Pods
//
// Created by dingwenchao on 8/17/15.
//
//
#import "FSCalendarHeaderTouchDeliver.h"
#import "FSCalendar.h"
#import "FSCalendarHeader.h"
#import "FSCalendarDynamicHeader.h"
@implementation FSCalendarHeaderTouchDeliver
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
UIView *hitView = [super hitTest:point withEvent:event];
if (hitView == self) {
return _calendar.collectionView ?: hitView;
}
return hitView;
}
@end

View File

@ -22,6 +22,8 @@
@property (readonly, nonatomic) NSDate *fs_dateByIgnoringTimeComponents;
@property (readonly, nonatomic) NSDate *fs_firstDayOfMonth;
@property (readonly, nonatomic) NSDate *fs_lastDayOfMonth;
@property (readonly, nonatomic) NSDate *fs_tomorrow;
@property (readonly, nonatomic) NSDate *fs_yesterday;
@property (readonly, nonatomic) NSInteger fs_numberOfDaysInMonth;
- (NSDate *)fs_dateByAddingYears:(NSInteger)years;

View File

@ -95,6 +95,22 @@
return [calendar dateFromComponents:components];
}
- (NSDate *)fs_tomorrow
{
NSCalendar *calendar = [NSCalendar fs_sharedCalendar];
NSDateComponents *components = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:self];
components.day++;
return [calendar dateFromComponents:components];
}
- (NSDate *)fs_yesterday
{
NSCalendar *calendar = [NSCalendar fs_sharedCalendar];
NSDateComponents *components = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:self];
components.day--;
return [calendar dateFromComponents:components];
}
- (NSInteger)fs_numberOfDaysInMonth
{
NSCalendar *c = [NSCalendar fs_sharedCalendar];

View File

@ -24,7 +24,25 @@
2. After adjust the position and frame, link the `dataSource` and `delegate` to the ViewController <br/>
3. Implement `FSCalendarDataSource` and `FSCalendarDelegate` in ViewController.m
### Use code
### Roll with Interface Builder
![fscalendar - ibdesignable](https://cloud.githubusercontent.com/assets/5186464/9301716/2e76a2ca-4503-11e5-8450-1fa7aa93e9fd.gif)
* This feature requires iOS7+ and Xcode6+, but if you use `cocoapods`, it requires `iOS8+` and `use_frameworks!`, for example:
```ruby
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod "FSCalendar"
```
* `fakeSubtitles` and `fakedSelectedDay` is only used for preview in Interface Builder
### Code
```objective-c
@property (weak , nonatomic) FSCalendar *calendar;
@ -41,6 +59,9 @@ self.calendar = calendar;
### Or swift
* To use `FSCalendar` in swift, you need to ![Create Bridge Header in Swift Project](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html)
```swift
private weak var calendar: FSCalendar!
```
@ -286,7 +307,7 @@ func calendarCurrentMonthDidChange(calendar: FSCalendar!) {
![fscalendar-ipad](https://cloud.githubusercontent.com/assets/5186464/6502151/b4ce3092-c35b-11e4-827a-498d73579d78.jpg)
## Requirements
ios 7.0
ios 7.0, Xcode 6+
## Known issues
* The title size changed as we change frame size of FSCalendar: Automatically adjusting font size based on frame size is default behavior of FSCalendadr, to disable it: