diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..919434a
--- /dev/null
+++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/CRRefresh.podspec b/CRRefresh.podspec
index 8f94599..74e7628 100644
--- a/CRRefresh.podspec
+++ b/CRRefresh.podspec
@@ -9,16 +9,16 @@
Pod::Spec.new do |s|
s.name = "CRRefresh"
- s.version = "1.1.3"
+ s.version = "1.1.4"
s.summary = "An easy way to use pull-to-refresh"
s.homepage = "https://github.com/CRAnimation/CRRefresh"
s.license = 'MIT'
s.author = { "W_C__L" => "wangchonglei93@icloud.com" }
- s.platform = :ios, "8.0"
- s.swift_version = '4.2'
+ s.platform = :ios, "9.0"
+ s.swift_version = '5.0'
s.source = { :git => "https://github.com/CRAnimation/CRRefresh.git", :tag => s.version.to_s }
- s.source_files = ['CRRefresh/CRRefresh/*.{swift}','CRRefresh/CRRefresh/Animators/**/*.{swift}']
- s.resources = 'CRRefresh/CRRefresh/Animators/**/*.{bundle}'
+ s.source_files = ['Sources/CRRefresh/*.{swift}','Sources/CRRefresh/Animators/**/*.{swift}']
+ s.resources = 'Sources/CRRefresh/Animators/**/*.{bundle}'
s.frameworks = "UIKit"
s.requires_arc = true
diff --git a/CRRefresh/Info.plist b/CRRefresh/Info.plist
deleted file mode 100644
index fbe1e6b..0000000
--- a/CRRefresh/Info.plist
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- en
- CFBundleExecutable
- $(EXECUTABLE_NAME)
- CFBundleIdentifier
- $(PRODUCT_BUNDLE_IDENTIFIER)
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- $(PRODUCT_NAME)
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 1.0
- CFBundleVersion
- $(CURRENT_PROJECT_VERSION)
- NSPrincipalClass
-
-
-
diff --git a/Demo/BaseViewController.swift b/Demo/BaseViewController.swift
index ca59577..14d358f 100644
--- a/Demo/BaseViewController.swift
+++ b/Demo/BaseViewController.swift
@@ -205,7 +205,7 @@ func getSystemVersion() -> Double {
}
public extension UIColor {
- public convenience init(rgb: (r: CGFloat, g: CGFloat, b: CGFloat)) {
+ convenience init(rgb: (r: CGFloat, g: CGFloat, b: CGFloat)) {
self.init(red: rgb.r/255, green: rgb.g/255, blue: rgb.b/255, alpha: 1.0)
}
}
diff --git a/CRRefresh.xcodeproj/project.pbxproj b/Demo/CRRefresh.xcodeproj/project.pbxproj
similarity index 61%
rename from CRRefresh.xcodeproj/project.pbxproj
rename to Demo/CRRefresh.xcodeproj/project.pbxproj
index 03579b0..55171c7 100644
--- a/CRRefresh.xcodeproj/project.pbxproj
+++ b/Demo/CRRefresh.xcodeproj/project.pbxproj
@@ -7,42 +7,43 @@
objects = {
/* Begin PBXBuildFile section */
- 9702BC8A1E7A8F1800705296 /* NormalFooter.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 9702BC861E7A8F1800705296 /* NormalFooter.bundle */; };
- 9702BC8B1E7A8F1800705296 /* NormalFooterAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9702BC871E7A8F1800705296 /* NormalFooterAnimator.swift */; };
- 9702BC8C1E7A8F1800705296 /* NormalHeader.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 9702BC881E7A8F1800705296 /* NormalHeader.bundle */; };
- 9702BC8D1E7A8F1800705296 /* NormalHeaderAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9702BC891E7A8F1800705296 /* NormalHeaderAnimator.swift */; };
- 9717BBAA1EB1C01E00AD6864 /* FastCheckLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9717BBA91EB1C01E00AD6864 /* FastCheckLayer.swift */; };
- 974647E31E8A4F93003A3019 /* FastAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 974647E01E8A4F93003A3019 /* FastAnimator.swift */; };
- 974647E41E8A4F93003A3019 /* FastArrowLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 974647E11E8A4F93003A3019 /* FastArrowLayer.swift */; };
- 974647E51E8A4F93003A3019 /* FastCircleLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 974647E21E8A4F93003A3019 /* FastCircleLayer.swift */; };
- 974647E71E8A545B003A3019 /* FastLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 974647E61E8A545B003A3019 /* FastLayer.swift */; };
- 9753C6691E76A12A00CCBBA0 /* SlackLoadingAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C65B1E76A12A00CCBBA0 /* SlackLoadingAnimator.swift */; };
- 9753C66A1E76A12A00CCBBA0 /* WCLLoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C65C1E76A12A00CCBBA0 /* WCLLoadingView.swift */; };
- 9753C66B1E76A12A00CCBBA0 /* CRRefreshAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C65D1E76A12A00CCBBA0 /* CRRefreshAnimator.swift */; };
- 9753C66C1E76A12A00CCBBA0 /* CRRefreshBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C65E1E76A12A00CCBBA0 /* CRRefreshBundle.swift */; };
- 9753C66D1E76A12A00CCBBA0 /* CRRefreshComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C65F1E76A12A00CCBBA0 /* CRRefreshComponent.swift */; };
- 9753C66E1E76A12A00CCBBA0 /* CRRefreshExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C6601E76A12A00CCBBA0 /* CRRefreshExtension.swift */; };
- 9753C66F1E76A12A00CCBBA0 /* CRRefreshFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C6611E76A12A00CCBBA0 /* CRRefreshFooterView.swift */; };
- 9753C6701E76A12A00CCBBA0 /* CRRefreshHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C6621E76A12A00CCBBA0 /* CRRefreshHeaderView.swift */; };
- 9753C6711E76A12A00CCBBA0 /* CRRefreshProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C6631E76A12A00CCBBA0 /* CRRefreshProtocol.swift */; };
- 9753C67A1E76A13C00CCBBA0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C6791E76A13C00CCBBA0 /* AppDelegate.swift */; };
- 9753C67C1E76A13C00CCBBA0 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C67B1E76A13C00CCBBA0 /* ViewController.swift */; };
- 9753C6811E76A13C00CCBBA0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9753C6801E76A13C00CCBBA0 /* Assets.xcassets */; };
- 9753C6841E76A13C00CCBBA0 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9753C6821E76A13C00CCBBA0 /* LaunchScreen.storyboard */; };
- 9753C68C1E76A16D00CCBBA0 /* BaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C6891E76A16D00CCBBA0 /* BaseViewController.swift */; };
- 9753C68D1E76A16D00CCBBA0 /* NavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C68A1E76A16D00CCBBA0 /* NavigationController.swift */; };
- 9753C68E1E76A16D00CCBBA0 /* RefreshController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C68B1E76A16D00CCBBA0 /* RefreshController.swift */; };
- 9753C6941E76A1D500CCBBA0 /* NormalCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C6901E76A1D500CCBBA0 /* NormalCell.swift */; };
- 9753C6951E76A1D500CCBBA0 /* NormalCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9753C6911E76A1D500CCBBA0 /* NormalCell.xib */; };
- 9753C6961E76A1D500CCBBA0 /* RefreshCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C6921E76A1D500CCBBA0 /* RefreshCell.swift */; };
- 9753C6971E76A1D500CCBBA0 /* RefreshCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9753C6931E76A1D500CCBBA0 /* RefreshCell.xib */; };
+ 3E265D092528F20D00C3D489 /* CRRefreshAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265CEC2528F20D00C3D489 /* CRRefreshAnimator.swift */; };
+ 3E265D0A2528F20D00C3D489 /* UIColorExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265CED2528F20D00C3D489 /* UIColorExtension.swift */; };
+ 3E265D0B2528F20D00C3D489 /* RamotionBounceLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265CF02528F20D00C3D489 /* RamotionBounceLayer.swift */; };
+ 3E265D0C2528F20D00C3D489 /* RamotionAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265CF12528F20D00C3D489 /* RamotionAnimator.swift */; };
+ 3E265D0D2528F20D00C3D489 /* RamotionWaveLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265CF22528F20D00C3D489 /* RamotionWaveLayer.swift */; };
+ 3E265D0E2528F20D00C3D489 /* RamotionBallLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265CF32528F20D00C3D489 /* RamotionBallLayer.swift */; };
+ 3E265D0F2528F20D00C3D489 /* SlackLoadingAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265CF52528F20D00C3D489 /* SlackLoadingAnimator.swift */; };
+ 3E265D102528F20D00C3D489 /* WCLLoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265CF62528F20D00C3D489 /* WCLLoadingView.swift */; };
+ 3E265D112528F20D00C3D489 /* FastAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265CF82528F20D00C3D489 /* FastAnimator.swift */; };
+ 3E265D122528F20D00C3D489 /* FastLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265CF92528F20D00C3D489 /* FastLayer.swift */; };
+ 3E265D132528F20D00C3D489 /* FastArrowLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265CFA2528F20D00C3D489 /* FastArrowLayer.swift */; };
+ 3E265D142528F20D00C3D489 /* FastCheckLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265CFB2528F20D00C3D489 /* FastCheckLayer.swift */; };
+ 3E265D152528F20D00C3D489 /* FastCircleLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265CFC2528F20D00C3D489 /* FastCircleLayer.swift */; };
+ 3E265D162528F20D00C3D489 /* NormalHeader.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 3E265CFE2528F20D00C3D489 /* NormalHeader.bundle */; };
+ 3E265D172528F20D00C3D489 /* NormalHeaderAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265CFF2528F20D00C3D489 /* NormalHeaderAnimator.swift */; };
+ 3E265D182528F20D00C3D489 /* NormalFooterAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265D002528F20D00C3D489 /* NormalFooterAnimator.swift */; };
+ 3E265D192528F20D00C3D489 /* NormalFooter.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 3E265D012528F20D00C3D489 /* NormalFooter.bundle */; };
+ 3E265D1A2528F20D00C3D489 /* CRRefreshBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265D022528F20D00C3D489 /* CRRefreshBundle.swift */; };
+ 3E265D1B2528F20D00C3D489 /* CRRefreshHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265D032528F20D00C3D489 /* CRRefreshHeaderView.swift */; };
+ 3E265D1C2528F20D00C3D489 /* CRRefreshExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265D042528F20D00C3D489 /* CRRefreshExtension.swift */; };
+ 3E265D1D2528F20D00C3D489 /* CRRefreshProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265D052528F20D00C3D489 /* CRRefreshProtocol.swift */; };
+ 3E265D1E2528F20D00C3D489 /* CRRefreshComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265D062528F20D00C3D489 /* CRRefreshComponent.swift */; };
+ 3E265D1F2528F20D00C3D489 /* CRRefreshFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265D072528F20D00C3D489 /* CRRefreshFooterView.swift */; };
+ 3E265D342528F22600C3D489 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265D232528F22600C3D489 /* ViewController.swift */; };
+ 3E265D352528F22600C3D489 /* NormalCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265D252528F22600C3D489 /* NormalCell.swift */; };
+ 3E265D362528F22600C3D489 /* NormalCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3E265D262528F22600C3D489 /* NormalCell.xib */; };
+ 3E265D372528F22600C3D489 /* RefreshCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3E265D272528F22600C3D489 /* RefreshCell.xib */; };
+ 3E265D382528F22600C3D489 /* RefreshCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265D282528F22600C3D489 /* RefreshCell.swift */; };
+ 3E265D392528F22600C3D489 /* BaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265D2C2528F22600C3D489 /* BaseViewController.swift */; };
+ 3E265D3A2528F22600C3D489 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3E265D2D2528F22600C3D489 /* Assets.xcassets */; };
+ 3E265D3B2528F22600C3D489 /* RefreshController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265D2E2528F22600C3D489 /* RefreshController.swift */; };
+ 3E265D3C2528F22600C3D489 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3E265D2F2528F22600C3D489 /* LaunchScreen.storyboard */; };
+ 3E265D3D2528F22600C3D489 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265D312528F22600C3D489 /* AppDelegate.swift */; };
+ 3E265D3E2528F22600C3D489 /* NavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E265D322528F22600C3D489 /* NavigationController.swift */; };
+ 3E265D3F2528F22600C3D489 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3E265D332528F22600C3D489 /* Info.plist */; };
9753C6981E76A28300CCBBA0 /* CRRefresh.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9753C6461E76A0D200CCBBA0 /* CRRefresh.framework */; settings = {ATTRIBUTES = (Required, ); }; };
9753C69D1E76A4EE00CCBBA0 /* CRRefresh.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9753C6461E76A0D200CCBBA0 /* CRRefresh.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
- 9753C6A01E76B36300CCBBA0 /* RamotionAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C69F1E76B36300CCBBA0 /* RamotionAnimator.swift */; };
- 9753C6A81E76F88A00CCBBA0 /* RamotionWaveLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C6A71E76F88A00CCBBA0 /* RamotionWaveLayer.swift */; };
- 9753C6AA1E77755600CCBBA0 /* RamotionBounceLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C6A91E77755600CCBBA0 /* RamotionBounceLayer.swift */; };
- 9753C6AC1E77C2E000CCBBA0 /* RamotionBallLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9753C6AB1E77C2E000CCBBA0 /* RamotionBallLayer.swift */; };
- 97884D03200DD20A0017692A /* UIColorExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97884D02200DD20A0017692A /* UIColorExtension.swift */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -59,44 +60,43 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
- 9702BC861E7A8F1800705296 /* NormalFooter.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = NormalFooter.bundle; sourceTree = ""; };
- 9702BC871E7A8F1800705296 /* NormalFooterAnimator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NormalFooterAnimator.swift; sourceTree = ""; };
- 9702BC881E7A8F1800705296 /* NormalHeader.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = NormalHeader.bundle; sourceTree = ""; };
- 9702BC891E7A8F1800705296 /* NormalHeaderAnimator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NormalHeaderAnimator.swift; sourceTree = ""; };
- 9717BBA91EB1C01E00AD6864 /* FastCheckLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FastCheckLayer.swift; sourceTree = ""; };
- 974647E01E8A4F93003A3019 /* FastAnimator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FastAnimator.swift; sourceTree = ""; };
- 974647E11E8A4F93003A3019 /* FastArrowLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FastArrowLayer.swift; sourceTree = ""; };
- 974647E21E8A4F93003A3019 /* FastCircleLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FastCircleLayer.swift; sourceTree = ""; };
- 974647E61E8A545B003A3019 /* FastLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FastLayer.swift; sourceTree = ""; };
+ 3E265CEC2528F20D00C3D489 /* CRRefreshAnimator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CRRefreshAnimator.swift; sourceTree = ""; };
+ 3E265CED2528F20D00C3D489 /* UIColorExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIColorExtension.swift; sourceTree = ""; };
+ 3E265CF02528F20D00C3D489 /* RamotionBounceLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RamotionBounceLayer.swift; sourceTree = ""; };
+ 3E265CF12528F20D00C3D489 /* RamotionAnimator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RamotionAnimator.swift; sourceTree = ""; };
+ 3E265CF22528F20D00C3D489 /* RamotionWaveLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RamotionWaveLayer.swift; sourceTree = ""; };
+ 3E265CF32528F20D00C3D489 /* RamotionBallLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RamotionBallLayer.swift; sourceTree = ""; };
+ 3E265CF52528F20D00C3D489 /* SlackLoadingAnimator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SlackLoadingAnimator.swift; sourceTree = ""; };
+ 3E265CF62528F20D00C3D489 /* WCLLoadingView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WCLLoadingView.swift; sourceTree = ""; };
+ 3E265CF82528F20D00C3D489 /* FastAnimator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FastAnimator.swift; sourceTree = ""; };
+ 3E265CF92528F20D00C3D489 /* FastLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FastLayer.swift; sourceTree = ""; };
+ 3E265CFA2528F20D00C3D489 /* FastArrowLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FastArrowLayer.swift; sourceTree = ""; };
+ 3E265CFB2528F20D00C3D489 /* FastCheckLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FastCheckLayer.swift; sourceTree = ""; };
+ 3E265CFC2528F20D00C3D489 /* FastCircleLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FastCircleLayer.swift; sourceTree = ""; };
+ 3E265CFE2528F20D00C3D489 /* NormalHeader.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = NormalHeader.bundle; sourceTree = ""; };
+ 3E265CFF2528F20D00C3D489 /* NormalHeaderAnimator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NormalHeaderAnimator.swift; sourceTree = ""; };
+ 3E265D002528F20D00C3D489 /* NormalFooterAnimator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NormalFooterAnimator.swift; sourceTree = ""; };
+ 3E265D012528F20D00C3D489 /* NormalFooter.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = NormalFooter.bundle; sourceTree = ""; };
+ 3E265D022528F20D00C3D489 /* CRRefreshBundle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CRRefreshBundle.swift; sourceTree = ""; };
+ 3E265D032528F20D00C3D489 /* CRRefreshHeaderView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CRRefreshHeaderView.swift; sourceTree = ""; };
+ 3E265D042528F20D00C3D489 /* CRRefreshExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CRRefreshExtension.swift; sourceTree = ""; };
+ 3E265D052528F20D00C3D489 /* CRRefreshProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CRRefreshProtocol.swift; sourceTree = ""; };
+ 3E265D062528F20D00C3D489 /* CRRefreshComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CRRefreshComponent.swift; sourceTree = ""; };
+ 3E265D072528F20D00C3D489 /* CRRefreshFooterView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CRRefreshFooterView.swift; sourceTree = ""; };
+ 3E265D232528F22600C3D489 /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
+ 3E265D252528F22600C3D489 /* NormalCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NormalCell.swift; sourceTree = ""; };
+ 3E265D262528F22600C3D489 /* NormalCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NormalCell.xib; sourceTree = ""; };
+ 3E265D272528F22600C3D489 /* RefreshCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RefreshCell.xib; sourceTree = ""; };
+ 3E265D282528F22600C3D489 /* RefreshCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RefreshCell.swift; sourceTree = ""; };
+ 3E265D2C2528F22600C3D489 /* BaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseViewController.swift; sourceTree = ""; };
+ 3E265D2D2528F22600C3D489 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
+ 3E265D2E2528F22600C3D489 /* RefreshController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RefreshController.swift; sourceTree = ""; };
+ 3E265D302528F22600C3D489 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
+ 3E265D312528F22600C3D489 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
+ 3E265D322528F22600C3D489 /* NavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationController.swift; sourceTree = ""; };
+ 3E265D332528F22600C3D489 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
9753C6461E76A0D200CCBBA0 /* CRRefresh.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CRRefresh.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- 9753C64A1E76A0D200CCBBA0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- 9753C65B1E76A12A00CCBBA0 /* SlackLoadingAnimator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SlackLoadingAnimator.swift; sourceTree = ""; };
- 9753C65C1E76A12A00CCBBA0 /* WCLLoadingView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WCLLoadingView.swift; sourceTree = ""; };
- 9753C65D1E76A12A00CCBBA0 /* CRRefreshAnimator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CRRefreshAnimator.swift; sourceTree = ""; };
- 9753C65E1E76A12A00CCBBA0 /* CRRefreshBundle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CRRefreshBundle.swift; sourceTree = ""; };
- 9753C65F1E76A12A00CCBBA0 /* CRRefreshComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CRRefreshComponent.swift; sourceTree = ""; };
- 9753C6601E76A12A00CCBBA0 /* CRRefreshExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CRRefreshExtension.swift; sourceTree = ""; };
- 9753C6611E76A12A00CCBBA0 /* CRRefreshFooterView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CRRefreshFooterView.swift; sourceTree = ""; };
- 9753C6621E76A12A00CCBBA0 /* CRRefreshHeaderView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CRRefreshHeaderView.swift; sourceTree = ""; };
- 9753C6631E76A12A00CCBBA0 /* CRRefreshProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CRRefreshProtocol.swift; sourceTree = ""; };
9753C6771E76A13C00CCBBA0 /* Demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Demo.app; sourceTree = BUILT_PRODUCTS_DIR; };
- 9753C6791E76A13C00CCBBA0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
- 9753C67B1E76A13C00CCBBA0 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
- 9753C6801E76A13C00CCBBA0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
- 9753C6831E76A13C00CCBBA0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
- 9753C6851E76A13C00CCBBA0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- 9753C6891E76A16D00CCBBA0 /* BaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseViewController.swift; sourceTree = ""; };
- 9753C68A1E76A16D00CCBBA0 /* NavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationController.swift; sourceTree = ""; };
- 9753C68B1E76A16D00CCBBA0 /* RefreshController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RefreshController.swift; sourceTree = ""; };
- 9753C6901E76A1D500CCBBA0 /* NormalCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NormalCell.swift; sourceTree = ""; };
- 9753C6911E76A1D500CCBBA0 /* NormalCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NormalCell.xib; sourceTree = ""; };
- 9753C6921E76A1D500CCBBA0 /* RefreshCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RefreshCell.swift; sourceTree = ""; };
- 9753C6931E76A1D500CCBBA0 /* RefreshCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RefreshCell.xib; sourceTree = ""; };
- 9753C69F1E76B36300CCBBA0 /* RamotionAnimator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RamotionAnimator.swift; sourceTree = ""; };
- 9753C6A71E76F88A00CCBBA0 /* RamotionWaveLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RamotionWaveLayer.swift; sourceTree = ""; };
- 9753C6A91E77755600CCBBA0 /* RamotionBounceLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RamotionBounceLayer.swift; sourceTree = ""; };
- 9753C6AB1E77C2E000CCBBA0 /* RamotionBallLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RamotionBallLayer.swift; sourceTree = ""; };
- 97884D02200DD20A0017692A /* UIColorExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIColorExtension.swift; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -118,128 +118,128 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
- 974647DF1E8A4F93003A3019 /* FastAnimator */ = {
+ 3E265CEB2528F20D00C3D489 /* CRRefresh */ = {
isa = PBXGroup;
children = (
- 974647E01E8A4F93003A3019 /* FastAnimator.swift */,
- 974647E61E8A545B003A3019 /* FastLayer.swift */,
- 974647E11E8A4F93003A3019 /* FastArrowLayer.swift */,
- 974647E21E8A4F93003A3019 /* FastCircleLayer.swift */,
- 9717BBA91EB1C01E00AD6864 /* FastCheckLayer.swift */,
+ 3E265CEE2528F20D00C3D489 /* Animators */,
+ 3E265CEC2528F20D00C3D489 /* CRRefreshAnimator.swift */,
+ 3E265CED2528F20D00C3D489 /* UIColorExtension.swift */,
+ 3E265D022528F20D00C3D489 /* CRRefreshBundle.swift */,
+ 3E265D032528F20D00C3D489 /* CRRefreshHeaderView.swift */,
+ 3E265D042528F20D00C3D489 /* CRRefreshExtension.swift */,
+ 3E265D052528F20D00C3D489 /* CRRefreshProtocol.swift */,
+ 3E265D062528F20D00C3D489 /* CRRefreshComponent.swift */,
+ 3E265D072528F20D00C3D489 /* CRRefreshFooterView.swift */,
+ 3E265D082528F20D00C3D489 /* Assets */,
);
- path = FastAnimator;
+ name = CRRefresh;
+ path = ../Sources/CRRefresh;
sourceTree = "";
};
- 9753C63C1E76A0D200CCBBA0 = {
+ 3E265CEE2528F20D00C3D489 /* Animators */ = {
isa = PBXGroup;
children = (
- 9753C6481E76A0D200CCBBA0 /* CRRefresh */,
- 9753C6781E76A13C00CCBBA0 /* Demo */,
- 9753C6471E76A0D200CCBBA0 /* Products */,
+ 3E265CEF2528F20D00C3D489 /* RamotionAnimator */,
+ 3E265CF42528F20D00C3D489 /* SlackLoadingAnimator */,
+ 3E265CF72528F20D00C3D489 /* FastAnimator */,
+ 3E265CFD2528F20D00C3D489 /* NormalAnimator */,
);
+ path = Animators;
sourceTree = "";
};
- 9753C6471E76A0D200CCBBA0 /* Products */ = {
+ 3E265CEF2528F20D00C3D489 /* RamotionAnimator */ = {
isa = PBXGroup;
children = (
- 9753C6461E76A0D200CCBBA0 /* CRRefresh.framework */,
- 9753C6771E76A13C00CCBBA0 /* Demo.app */,
+ 3E265CF02528F20D00C3D489 /* RamotionBounceLayer.swift */,
+ 3E265CF12528F20D00C3D489 /* RamotionAnimator.swift */,
+ 3E265CF22528F20D00C3D489 /* RamotionWaveLayer.swift */,
+ 3E265CF32528F20D00C3D489 /* RamotionBallLayer.swift */,
);
- name = Products;
+ path = RamotionAnimator;
sourceTree = "";
};
- 9753C6481E76A0D200CCBBA0 /* CRRefresh */ = {
+ 3E265CF42528F20D00C3D489 /* SlackLoadingAnimator */ = {
isa = PBXGroup;
children = (
- 9753C6511E76A12A00CCBBA0 /* CRRefresh */,
- 9753C64A1E76A0D200CCBBA0 /* Info.plist */,
+ 3E265CF52528F20D00C3D489 /* SlackLoadingAnimator.swift */,
+ 3E265CF62528F20D00C3D489 /* WCLLoadingView.swift */,
);
- path = CRRefresh;
+ path = SlackLoadingAnimator;
sourceTree = "";
};
- 9753C6511E76A12A00CCBBA0 /* CRRefresh */ = {
+ 3E265CF72528F20D00C3D489 /* FastAnimator */ = {
isa = PBXGroup;
children = (
- 9753C6521E76A12A00CCBBA0 /* Animators */,
- 9753C65D1E76A12A00CCBBA0 /* CRRefreshAnimator.swift */,
- 9753C65E1E76A12A00CCBBA0 /* CRRefreshBundle.swift */,
- 9753C65F1E76A12A00CCBBA0 /* CRRefreshComponent.swift */,
- 9753C6601E76A12A00CCBBA0 /* CRRefreshExtension.swift */,
- 9753C6611E76A12A00CCBBA0 /* CRRefreshFooterView.swift */,
- 9753C6621E76A12A00CCBBA0 /* CRRefreshHeaderView.swift */,
- 9753C6631E76A12A00CCBBA0 /* CRRefreshProtocol.swift */,
- 97884D02200DD20A0017692A /* UIColorExtension.swift */,
+ 3E265CF82528F20D00C3D489 /* FastAnimator.swift */,
+ 3E265CF92528F20D00C3D489 /* FastLayer.swift */,
+ 3E265CFA2528F20D00C3D489 /* FastArrowLayer.swift */,
+ 3E265CFB2528F20D00C3D489 /* FastCheckLayer.swift */,
+ 3E265CFC2528F20D00C3D489 /* FastCircleLayer.swift */,
);
- path = CRRefresh;
+ path = FastAnimator;
sourceTree = "";
};
- 9753C6521E76A12A00CCBBA0 /* Animators */ = {
+ 3E265CFD2528F20D00C3D489 /* NormalAnimator */ = {
isa = PBXGroup;
children = (
- 974647DF1E8A4F93003A3019 /* FastAnimator */,
- 9753C69E1E76B35600CCBBA0 /* RamotionAnimator */,
- 9753C6531E76A12A00CCBBA0 /* NormalAnimator */,
- 9753C65A1E76A12A00CCBBA0 /* SlackLoadingAnimator */,
+ 3E265CFE2528F20D00C3D489 /* NormalHeader.bundle */,
+ 3E265CFF2528F20D00C3D489 /* NormalHeaderAnimator.swift */,
+ 3E265D002528F20D00C3D489 /* NormalFooterAnimator.swift */,
+ 3E265D012528F20D00C3D489 /* NormalFooter.bundle */,
);
- path = Animators;
+ path = NormalAnimator;
sourceTree = "";
};
- 9753C6531E76A12A00CCBBA0 /* NormalAnimator */ = {
+ 3E265D082528F20D00C3D489 /* Assets */ = {
isa = PBXGroup;
children = (
- 9702BC861E7A8F1800705296 /* NormalFooter.bundle */,
- 9702BC871E7A8F1800705296 /* NormalFooterAnimator.swift */,
- 9702BC881E7A8F1800705296 /* NormalHeader.bundle */,
- 9702BC891E7A8F1800705296 /* NormalHeaderAnimator.swift */,
);
- path = NormalAnimator;
+ path = Assets;
sourceTree = "";
};
- 9753C65A1E76A12A00CCBBA0 /* SlackLoadingAnimator */ = {
+ 3E265D222528F22600C3D489 /* Demo */ = {
isa = PBXGroup;
children = (
- 9753C65B1E76A12A00CCBBA0 /* SlackLoadingAnimator.swift */,
- 9753C65C1E76A12A00CCBBA0 /* WCLLoadingView.swift */,
+ 3E265D312528F22600C3D489 /* AppDelegate.swift */,
+ 3E265D2D2528F22600C3D489 /* Assets.xcassets */,
+ 3E265D2C2528F22600C3D489 /* BaseViewController.swift */,
+ 3E265D242528F22600C3D489 /* Cells */,
+ 3E265D332528F22600C3D489 /* Info.plist */,
+ 3E265D2F2528F22600C3D489 /* LaunchScreen.storyboard */,
+ 3E265D322528F22600C3D489 /* NavigationController.swift */,
+ 3E265D2E2528F22600C3D489 /* RefreshController.swift */,
+ 3E265D232528F22600C3D489 /* ViewController.swift */,
);
- path = SlackLoadingAnimator;
+ name = Demo;
sourceTree = "";
};
- 9753C6781E76A13C00CCBBA0 /* Demo */ = {
+ 3E265D242528F22600C3D489 /* Cells */ = {
isa = PBXGroup;
children = (
- 9753C6791E76A13C00CCBBA0 /* AppDelegate.swift */,
- 9753C6891E76A16D00CCBBA0 /* BaseViewController.swift */,
- 9753C68A1E76A16D00CCBBA0 /* NavigationController.swift */,
- 9753C67B1E76A13C00CCBBA0 /* ViewController.swift */,
- 9753C68B1E76A16D00CCBBA0 /* RefreshController.swift */,
- 9753C68F1E76A1D500CCBBA0 /* Cells */,
- 9753C6801E76A13C00CCBBA0 /* Assets.xcassets */,
- 9753C6821E76A13C00CCBBA0 /* LaunchScreen.storyboard */,
- 9753C6851E76A13C00CCBBA0 /* Info.plist */,
+ 3E265D252528F22600C3D489 /* NormalCell.swift */,
+ 3E265D262528F22600C3D489 /* NormalCell.xib */,
+ 3E265D272528F22600C3D489 /* RefreshCell.xib */,
+ 3E265D282528F22600C3D489 /* RefreshCell.swift */,
);
- path = Demo;
+ path = Cells;
sourceTree = "";
};
- 9753C68F1E76A1D500CCBBA0 /* Cells */ = {
+ 9753C63C1E76A0D200CCBBA0 = {
isa = PBXGroup;
children = (
- 9753C6901E76A1D500CCBBA0 /* NormalCell.swift */,
- 9753C6911E76A1D500CCBBA0 /* NormalCell.xib */,
- 9753C6921E76A1D500CCBBA0 /* RefreshCell.swift */,
- 9753C6931E76A1D500CCBBA0 /* RefreshCell.xib */,
+ 3E265D222528F22600C3D489 /* Demo */,
+ 3E265CEB2528F20D00C3D489 /* CRRefresh */,
+ 9753C6471E76A0D200CCBBA0 /* Products */,
);
- path = Cells;
sourceTree = "";
};
- 9753C69E1E76B35600CCBBA0 /* RamotionAnimator */ = {
+ 9753C6471E76A0D200CCBBA0 /* Products */ = {
isa = PBXGroup;
children = (
- 9753C69F1E76B36300CCBBA0 /* RamotionAnimator.swift */,
- 9753C6A91E77755600CCBBA0 /* RamotionBounceLayer.swift */,
- 9753C6A71E76F88A00CCBBA0 /* RamotionWaveLayer.swift */,
- 9753C6AB1E77C2E000CCBBA0 /* RamotionBallLayer.swift */,
+ 9753C6461E76A0D200CCBBA0 /* CRRefresh.framework */,
+ 9753C6771E76A13C00CCBBA0 /* Demo.app */,
);
- path = RamotionAnimator;
+ name = Products;
sourceTree = "";
};
/* End PBXGroup section */
@@ -316,7 +316,7 @@
};
buildConfigurationList = 9753C6401E76A0D200CCBBA0 /* Build configuration list for PBXProject "CRRefresh" */;
compatibilityVersion = "Xcode 3.2";
- developmentRegion = English;
+ developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
@@ -338,8 +338,13 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 9702BC8A1E7A8F1800705296 /* NormalFooter.bundle in Resources */,
- 9702BC8C1E7A8F1800705296 /* NormalHeader.bundle in Resources */,
+ 3E265D162528F20D00C3D489 /* NormalHeader.bundle in Resources */,
+ 3E265D362528F22600C3D489 /* NormalCell.xib in Resources */,
+ 3E265D192528F20D00C3D489 /* NormalFooter.bundle in Resources */,
+ 3E265D3C2528F22600C3D489 /* LaunchScreen.storyboard in Resources */,
+ 3E265D372528F22600C3D489 /* RefreshCell.xib in Resources */,
+ 3E265D3A2528F22600C3D489 /* Assets.xcassets in Resources */,
+ 3E265D3F2528F22600C3D489 /* Info.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -347,10 +352,6 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 9753C6841E76A13C00CCBBA0 /* LaunchScreen.storyboard in Resources */,
- 9753C6951E76A1D500CCBBA0 /* NormalCell.xib in Resources */,
- 9753C6811E76A13C00CCBBA0 /* Assets.xcassets in Resources */,
- 9753C6971E76A1D500CCBBA0 /* RefreshCell.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -361,27 +362,34 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 9753C66C1E76A12A00CCBBA0 /* CRRefreshBundle.swift in Sources */,
- 974647E51E8A4F93003A3019 /* FastCircleLayer.swift in Sources */,
- 9753C66B1E76A12A00CCBBA0 /* CRRefreshAnimator.swift in Sources */,
- 9702BC8D1E7A8F1800705296 /* NormalHeaderAnimator.swift in Sources */,
- 9753C6A01E76B36300CCBBA0 /* RamotionAnimator.swift in Sources */,
- 9753C6AC1E77C2E000CCBBA0 /* RamotionBallLayer.swift in Sources */,
- 9702BC8B1E7A8F1800705296 /* NormalFooterAnimator.swift in Sources */,
- 9753C6691E76A12A00CCBBA0 /* SlackLoadingAnimator.swift in Sources */,
- 97884D03200DD20A0017692A /* UIColorExtension.swift in Sources */,
- 974647E31E8A4F93003A3019 /* FastAnimator.swift in Sources */,
- 9753C66E1E76A12A00CCBBA0 /* CRRefreshExtension.swift in Sources */,
- 9753C66D1E76A12A00CCBBA0 /* CRRefreshComponent.swift in Sources */,
- 9753C6701E76A12A00CCBBA0 /* CRRefreshHeaderView.swift in Sources */,
- 974647E41E8A4F93003A3019 /* FastArrowLayer.swift in Sources */,
- 9753C66A1E76A12A00CCBBA0 /* WCLLoadingView.swift in Sources */,
- 9753C6A81E76F88A00CCBBA0 /* RamotionWaveLayer.swift in Sources */,
- 9753C66F1E76A12A00CCBBA0 /* CRRefreshFooterView.swift in Sources */,
- 9717BBAA1EB1C01E00AD6864 /* FastCheckLayer.swift in Sources */,
- 9753C6711E76A12A00CCBBA0 /* CRRefreshProtocol.swift in Sources */,
- 974647E71E8A545B003A3019 /* FastLayer.swift in Sources */,
- 9753C6AA1E77755600CCBBA0 /* RamotionBounceLayer.swift in Sources */,
+ 3E265D1C2528F20D00C3D489 /* CRRefreshExtension.swift in Sources */,
+ 3E265D1B2528F20D00C3D489 /* CRRefreshHeaderView.swift in Sources */,
+ 3E265D122528F20D00C3D489 /* FastLayer.swift in Sources */,
+ 3E265D1A2528F20D00C3D489 /* CRRefreshBundle.swift in Sources */,
+ 3E265D342528F22600C3D489 /* ViewController.swift in Sources */,
+ 3E265D3E2528F22600C3D489 /* NavigationController.swift in Sources */,
+ 3E265D1D2528F20D00C3D489 /* CRRefreshProtocol.swift in Sources */,
+ 3E265D172528F20D00C3D489 /* NormalHeaderAnimator.swift in Sources */,
+ 3E265D352528F22600C3D489 /* NormalCell.swift in Sources */,
+ 3E265D132528F20D00C3D489 /* FastArrowLayer.swift in Sources */,
+ 3E265D0F2528F20D00C3D489 /* SlackLoadingAnimator.swift in Sources */,
+ 3E265D0A2528F20D00C3D489 /* UIColorExtension.swift in Sources */,
+ 3E265D112528F20D00C3D489 /* FastAnimator.swift in Sources */,
+ 3E265D182528F20D00C3D489 /* NormalFooterAnimator.swift in Sources */,
+ 3E265D3B2528F22600C3D489 /* RefreshController.swift in Sources */,
+ 3E265D0D2528F20D00C3D489 /* RamotionWaveLayer.swift in Sources */,
+ 3E265D152528F20D00C3D489 /* FastCircleLayer.swift in Sources */,
+ 3E265D1F2528F20D00C3D489 /* CRRefreshFooterView.swift in Sources */,
+ 3E265D0E2528F20D00C3D489 /* RamotionBallLayer.swift in Sources */,
+ 3E265D102528F20D00C3D489 /* WCLLoadingView.swift in Sources */,
+ 3E265D0C2528F20D00C3D489 /* RamotionAnimator.swift in Sources */,
+ 3E265D382528F22600C3D489 /* RefreshCell.swift in Sources */,
+ 3E265D3D2528F22600C3D489 /* AppDelegate.swift in Sources */,
+ 3E265D392528F22600C3D489 /* BaseViewController.swift in Sources */,
+ 3E265D1E2528F20D00C3D489 /* CRRefreshComponent.swift in Sources */,
+ 3E265D142528F20D00C3D489 /* FastCheckLayer.swift in Sources */,
+ 3E265D092528F20D00C3D489 /* CRRefreshAnimator.swift in Sources */,
+ 3E265D0B2528F20D00C3D489 /* RamotionBounceLayer.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -389,23 +397,16 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 9753C6941E76A1D500CCBBA0 /* NormalCell.swift in Sources */,
- 9753C67C1E76A13C00CCBBA0 /* ViewController.swift in Sources */,
- 9753C68D1E76A16D00CCBBA0 /* NavigationController.swift in Sources */,
- 9753C68E1E76A16D00CCBBA0 /* RefreshController.swift in Sources */,
- 9753C67A1E76A13C00CCBBA0 /* AppDelegate.swift in Sources */,
- 9753C68C1E76A16D00CCBBA0 /* BaseViewController.swift in Sources */,
- 9753C6961E76A1D500CCBBA0 /* RefreshCell.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
- 9753C6821E76A13C00CCBBA0 /* LaunchScreen.storyboard */ = {
+ 3E265D2F2528F22600C3D489 /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
- 9753C6831E76A13C00CCBBA0 /* Base */,
+ 3E265D302528F22600C3D489 /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "";
@@ -537,14 +538,14 @@
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
- INFOPLIST_FILE = CRRefresh/Info.plist;
+ INFOPLIST_FILE = "$(SRCROOT)/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = WCL.CRRefresh;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
- SWIFT_VERSION = 4.2;
+ SWIFT_VERSION = 5.0;
};
name = Debug;
};
@@ -557,14 +558,14 @@
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
- INFOPLIST_FILE = CRRefresh/Info.plist;
+ INFOPLIST_FILE = "$(SRCROOT)/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = WCL.CRRefresh;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
- SWIFT_VERSION = 4.2;
+ SWIFT_VERSION = 5.0;
};
name = Release;
};
@@ -577,7 +578,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "WCL.CRRefresh-.Demo";
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 4.2;
+ SWIFT_VERSION = 5.0;
};
name = Debug;
};
@@ -590,7 +591,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "WCL.CRRefresh-.Demo";
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 4.2;
+ SWIFT_VERSION = 5.0;
};
name = Release;
};
diff --git a/CRRefresh.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Demo/CRRefresh.xcodeproj/project.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from CRRefresh.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to Demo/CRRefresh.xcodeproj/project.xcworkspace/contents.xcworkspacedata
diff --git a/CRRefresh.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Demo/CRRefresh.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
similarity index 100%
rename from CRRefresh.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
rename to Demo/CRRefresh.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
diff --git a/CRRefresh.xcodeproj/xcshareddata/xcschemes/CRRefresh.xcscheme b/Demo/CRRefresh.xcodeproj/xcshareddata/xcschemes/CRRefresh.xcscheme
similarity index 100%
rename from CRRefresh.xcodeproj/xcshareddata/xcschemes/CRRefresh.xcscheme
rename to Demo/CRRefresh.xcodeproj/xcshareddata/xcschemes/CRRefresh.xcscheme
diff --git a/Demo/RefreshController.swift b/Demo/RefreshController.swift
index 393c7bf..c6b19c9 100644
--- a/Demo/RefreshController.swift
+++ b/Demo/RefreshController.swift
@@ -78,10 +78,13 @@ class RefreshController: BaseViewController {
print("开始加载")
DispatchQueue.main.asyncAfter(deadline: .now() + 2, execute: {
self?.count += 10
- self?.tableView.cr.noticeNoMoreData()
+ self?.tableView.cr.endLoadingMore()
self?.tableView.reloadData()
})
}
+
+ tableView.isPagingEnabled = true
+
}
//MARK: Override
diff --git a/Package.swift b/Package.swift
new file mode 100644
index 0000000..0c028c3
--- /dev/null
+++ b/Package.swift
@@ -0,0 +1,23 @@
+// swift-tools-version:5.3
+// The swift-tools-version declares the minimum version of Swift required to build this package.
+
+import PackageDescription
+
+let package = Package(
+ name: "CRRefresh",
+ platforms: [.iOS(.v9)],
+ products: [
+ .library(
+ name: "CRRefresh",
+ targets: ["CRRefresh"]),
+ ],
+ targets: [
+ .target(
+ name: "CRRefresh",
+ resources: [
+ .copy("Assets/"),
+ // .process("Resources/config.json"),
+ // .copy("Resources/HTML")
+ ]),
+ ]
+)
diff --git a/CRRefresh/CRRefresh/Animators/FastAnimator/FastAnimator.swift b/Sources/CRRefresh/Animators/FastAnimator/FastAnimator.swift
similarity index 100%
rename from CRRefresh/CRRefresh/Animators/FastAnimator/FastAnimator.swift
rename to Sources/CRRefresh/Animators/FastAnimator/FastAnimator.swift
diff --git a/CRRefresh/CRRefresh/Animators/FastAnimator/FastArrowLayer.swift b/Sources/CRRefresh/Animators/FastAnimator/FastArrowLayer.swift
similarity index 100%
rename from CRRefresh/CRRefresh/Animators/FastAnimator/FastArrowLayer.swift
rename to Sources/CRRefresh/Animators/FastAnimator/FastArrowLayer.swift
diff --git a/CRRefresh/CRRefresh/Animators/FastAnimator/FastCheckLayer.swift b/Sources/CRRefresh/Animators/FastAnimator/FastCheckLayer.swift
similarity index 95%
rename from CRRefresh/CRRefresh/Animators/FastAnimator/FastCheckLayer.swift
rename to Sources/CRRefresh/Animators/FastAnimator/FastCheckLayer.swift
index 5338054..2d814d3 100644
--- a/CRRefresh/CRRefresh/Animators/FastAnimator/FastCheckLayer.swift
+++ b/Sources/CRRefresh/Animators/FastAnimator/FastCheckLayer.swift
@@ -71,6 +71,12 @@ class FastCheckLayer: CALayer {
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
+
+ override init(layer: Any) {
+ color = .init(rgb: (214, 214, 214))
+ lineWidth = 1
+ super.init(layer: layer)
+ }
//MARK: Privater Methods
private func drawCheck() {
diff --git a/CRRefresh/CRRefresh/Animators/FastAnimator/FastCircleLayer.swift b/Sources/CRRefresh/Animators/FastAnimator/FastCircleLayer.swift
similarity index 97%
rename from CRRefresh/CRRefresh/Animators/FastAnimator/FastCircleLayer.swift
rename to Sources/CRRefresh/Animators/FastAnimator/FastCircleLayer.swift
index bcfa699..ff98f72 100644
--- a/CRRefresh/CRRefresh/Animators/FastAnimator/FastCircleLayer.swift
+++ b/Sources/CRRefresh/Animators/FastAnimator/FastCircleLayer.swift
@@ -73,6 +73,13 @@ class FastCircleLayer: CALayer {
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
+
+ override init(layer: Any) {
+ color = .init(rgb: (214, 214, 214))
+ pointColor = .init(rgb: (165, 165, 165))
+ lineWidth = 1
+ super.init(layer: layer)
+ }
//MARK: Public Methods
func startAnimation() {
diff --git a/CRRefresh/CRRefresh/Animators/FastAnimator/FastLayer.swift b/Sources/CRRefresh/Animators/FastAnimator/FastLayer.swift
similarity index 91%
rename from CRRefresh/CRRefresh/Animators/FastAnimator/FastLayer.swift
rename to Sources/CRRefresh/Animators/FastAnimator/FastLayer.swift
index 1d593b8..4baf0b7 100644
--- a/CRRefresh/CRRefresh/Animators/FastAnimator/FastLayer.swift
+++ b/Sources/CRRefresh/Animators/FastAnimator/FastLayer.swift
@@ -37,12 +37,6 @@ class FastLayer: CALayer {
let lineWidth: CGFloat
- //MARK: Public Methods
-
-
- //MARK: Override
-
-
//MARK: Initial Methods
init(frame: CGRect, color: UIColor = .init(rgb: (214, 214, 214)), arrowColor: UIColor = .init(rgb: (165, 165, 165)), lineWidth: CGFloat = 1) {
self.color = color
@@ -58,6 +52,13 @@ class FastLayer: CALayer {
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
+
+ override init(layer: Any) {
+ color = .init(rgb: (214, 214, 214))
+ arrowColor = .init(rgb: (165, 165, 165))
+ lineWidth = 1
+ super.init(layer: layer)
+ }
//MARK: Privater Methods
private func initCircle() {
diff --git a/CRRefresh/CRRefresh/Animators/NormalAnimator/NormalFooterAnimator.swift b/Sources/CRRefresh/Animators/NormalAnimator/NormalFooterAnimator.swift
similarity index 98%
rename from CRRefresh/CRRefresh/Animators/NormalAnimator/NormalFooterAnimator.swift
rename to Sources/CRRefresh/Animators/NormalAnimator/NormalFooterAnimator.swift
index 7da1cb3..03aa154 100755
--- a/CRRefresh/CRRefresh/Animators/NormalAnimator/NormalFooterAnimator.swift
+++ b/Sources/CRRefresh/Animators/NormalAnimator/NormalFooterAnimator.swift
@@ -88,6 +88,8 @@ open class NormalFooterAnimator: UIView, CRRefreshProtocol {
open func refresh(view: CRRefreshComponent, stateDidChange state: CRRefreshState) {
switch state {
+ case .idle:
+ titleLabel.text = loadingMoreDescription
case .refreshing :
titleLabel.text = loadingDescription
break
diff --git a/CRRefresh/CRRefresh/Animators/NormalAnimator/NormalHeaderAnimator.swift b/Sources/CRRefresh/Animators/NormalAnimator/NormalHeaderAnimator.swift
similarity index 100%
rename from CRRefresh/CRRefresh/Animators/NormalAnimator/NormalHeaderAnimator.swift
rename to Sources/CRRefresh/Animators/NormalAnimator/NormalHeaderAnimator.swift
diff --git a/CRRefresh/CRRefresh/Animators/RamotionAnimator/RamotionAnimator.swift b/Sources/CRRefresh/Animators/RamotionAnimator/RamotionAnimator.swift
similarity index 100%
rename from CRRefresh/CRRefresh/Animators/RamotionAnimator/RamotionAnimator.swift
rename to Sources/CRRefresh/Animators/RamotionAnimator/RamotionAnimator.swift
diff --git a/CRRefresh/CRRefresh/Animators/RamotionAnimator/RamotionBallLayer.swift b/Sources/CRRefresh/Animators/RamotionAnimator/RamotionBallLayer.swift
similarity index 100%
rename from CRRefresh/CRRefresh/Animators/RamotionAnimator/RamotionBallLayer.swift
rename to Sources/CRRefresh/Animators/RamotionAnimator/RamotionBallLayer.swift
diff --git a/CRRefresh/CRRefresh/Animators/RamotionAnimator/RamotionBounceLayer.swift b/Sources/CRRefresh/Animators/RamotionAnimator/RamotionBounceLayer.swift
similarity index 100%
rename from CRRefresh/CRRefresh/Animators/RamotionAnimator/RamotionBounceLayer.swift
rename to Sources/CRRefresh/Animators/RamotionAnimator/RamotionBounceLayer.swift
diff --git a/CRRefresh/CRRefresh/Animators/RamotionAnimator/RamotionWaveLayer.swift b/Sources/CRRefresh/Animators/RamotionAnimator/RamotionWaveLayer.swift
similarity index 100%
rename from CRRefresh/CRRefresh/Animators/RamotionAnimator/RamotionWaveLayer.swift
rename to Sources/CRRefresh/Animators/RamotionAnimator/RamotionWaveLayer.swift
diff --git a/CRRefresh/CRRefresh/Animators/SlackLoadingAnimator/SlackLoadingAnimator.swift b/Sources/CRRefresh/Animators/SlackLoadingAnimator/SlackLoadingAnimator.swift
similarity index 100%
rename from CRRefresh/CRRefresh/Animators/SlackLoadingAnimator/SlackLoadingAnimator.swift
rename to Sources/CRRefresh/Animators/SlackLoadingAnimator/SlackLoadingAnimator.swift
diff --git a/CRRefresh/CRRefresh/Animators/SlackLoadingAnimator/WCLLoadingView.swift b/Sources/CRRefresh/Animators/SlackLoadingAnimator/WCLLoadingView.swift
similarity index 100%
rename from CRRefresh/CRRefresh/Animators/SlackLoadingAnimator/WCLLoadingView.swift
rename to Sources/CRRefresh/Animators/SlackLoadingAnimator/WCLLoadingView.swift
diff --git a/CRRefresh/CRRefresh/Animators/NormalAnimator/NormalFooter.bundle/en.lproj/Localizable.strings b/Sources/CRRefresh/Assets/NormalFooter.bundle/en.lproj/Localizable.strings
similarity index 100%
rename from CRRefresh/CRRefresh/Animators/NormalAnimator/NormalFooter.bundle/en.lproj/Localizable.strings
rename to Sources/CRRefresh/Assets/NormalFooter.bundle/en.lproj/Localizable.strings
diff --git a/CRRefresh/CRRefresh/Animators/NormalAnimator/NormalFooter.bundle/zh.lproj/Localizable.strings b/Sources/CRRefresh/Assets/NormalFooter.bundle/zh.lproj/Localizable.strings
similarity index 100%
rename from CRRefresh/CRRefresh/Animators/NormalAnimator/NormalFooter.bundle/zh.lproj/Localizable.strings
rename to Sources/CRRefresh/Assets/NormalFooter.bundle/zh.lproj/Localizable.strings
diff --git a/CRRefresh/CRRefresh/Animators/NormalAnimator/NormalHeader.bundle/en.lproj/Localizable.strings b/Sources/CRRefresh/Assets/NormalHeader.bundle/en.lproj/Localizable.strings
similarity index 100%
rename from CRRefresh/CRRefresh/Animators/NormalAnimator/NormalHeader.bundle/en.lproj/Localizable.strings
rename to Sources/CRRefresh/Assets/NormalHeader.bundle/en.lproj/Localizable.strings
diff --git a/CRRefresh/CRRefresh/Animators/NormalAnimator/NormalHeader.bundle/images/refresh_arrow@2x.png b/Sources/CRRefresh/Assets/NormalHeader.bundle/images/refresh_arrow@2x.png
similarity index 100%
rename from CRRefresh/CRRefresh/Animators/NormalAnimator/NormalHeader.bundle/images/refresh_arrow@2x.png
rename to Sources/CRRefresh/Assets/NormalHeader.bundle/images/refresh_arrow@2x.png
diff --git a/CRRefresh/CRRefresh/Animators/NormalAnimator/NormalHeader.bundle/images/refresh_arrow@3x.png b/Sources/CRRefresh/Assets/NormalHeader.bundle/images/refresh_arrow@3x.png
similarity index 100%
rename from CRRefresh/CRRefresh/Animators/NormalAnimator/NormalHeader.bundle/images/refresh_arrow@3x.png
rename to Sources/CRRefresh/Assets/NormalHeader.bundle/images/refresh_arrow@3x.png
diff --git a/CRRefresh/CRRefresh/Animators/NormalAnimator/NormalHeader.bundle/zh.lproj/Localizable.strings b/Sources/CRRefresh/Assets/NormalHeader.bundle/zh.lproj/Localizable.strings
similarity index 100%
rename from CRRefresh/CRRefresh/Animators/NormalAnimator/NormalHeader.bundle/zh.lproj/Localizable.strings
rename to Sources/CRRefresh/Assets/NormalHeader.bundle/zh.lproj/Localizable.strings
diff --git a/CRRefresh/CRRefresh/CRRefreshAnimator.swift b/Sources/CRRefresh/CRRefreshAnimator.swift
similarity index 100%
rename from CRRefresh/CRRefresh/CRRefreshAnimator.swift
rename to Sources/CRRefresh/CRRefreshAnimator.swift
diff --git a/CRRefresh/CRRefresh/CRRefreshBundle.swift b/Sources/CRRefresh/CRRefreshBundle.swift
similarity index 100%
rename from CRRefresh/CRRefresh/CRRefreshBundle.swift
rename to Sources/CRRefresh/CRRefreshBundle.swift
diff --git a/CRRefresh/CRRefresh/CRRefreshComponent.swift b/Sources/CRRefresh/CRRefreshComponent.swift
similarity index 100%
rename from CRRefresh/CRRefresh/CRRefreshComponent.swift
rename to Sources/CRRefresh/CRRefreshComponent.swift
diff --git a/CRRefresh/CRRefresh/CRRefreshExtension.swift b/Sources/CRRefresh/CRRefreshExtension.swift
similarity index 100%
rename from CRRefresh/CRRefresh/CRRefreshExtension.swift
rename to Sources/CRRefresh/CRRefreshExtension.swift
diff --git a/CRRefresh/CRRefresh/CRRefreshFooterView.swift b/Sources/CRRefresh/CRRefreshFooterView.swift
similarity index 98%
rename from CRRefresh/CRRefresh/CRRefreshFooterView.swift
rename to Sources/CRRefresh/CRRefreshFooterView.swift
index ff2f162..bf5b525 100644
--- a/CRRefresh/CRRefresh/CRRefreshFooterView.swift
+++ b/Sources/CRRefresh/CRRefreshFooterView.swift
@@ -110,7 +110,7 @@ open class CRRefreshFooterView: CRRefreshComponent {
open override func sizeChange(change: [NSKeyValueChangeKey : Any]?) {
guard let scrollView = scrollView else { return }
super.sizeChange(change: change)
- let targetY = scrollView.contentSize.height + scrollViewInsets.bottom
+ let targetY = scrollView.contentSize.height
if self.frame.origin.y != targetY {
var rect = self.frame
rect.origin.y = targetY
diff --git a/CRRefresh/CRRefresh/CRRefreshHeaderView.swift b/Sources/CRRefresh/CRRefreshHeaderView.swift
similarity index 96%
rename from CRRefresh/CRRefresh/CRRefreshHeaderView.swift
rename to Sources/CRRefresh/CRRefreshHeaderView.swift
index 1eea8a5..2f8c535 100644
--- a/CRRefresh/CRRefresh/CRRefreshHeaderView.swift
+++ b/Sources/CRRefresh/CRRefreshHeaderView.swift
@@ -66,10 +66,16 @@ open class CRRefreshHeaderView: CRRefreshComponent {
insets.top += animator.execute
insetTDelta = -animator.execute
holdInsetTDelta = -(animator.execute - animator.hold)
- UIView.animate(withDuration: CRRefreshComponent.animationDuration, animations: {
+ var point = scrollView.contentOffset;
+ point.y = -insets.top
+ UIView.animate(withDuration: CRRefreshComponent.animationDuration, animations: {
+
scrollView.contentOffset.y = self.previousOffsetY
scrollView.contentInset = insets
- scrollView.contentOffset.y = -insets.top
+// scrollView.contentOffset.y = -insets.top
+ scrollView.setContentOffset(point, animated: false);
+
+
}) { (finished) in
DispatchQueue.main.async {
self.handler?()
diff --git a/CRRefresh/CRRefresh/CRRefreshProtocol.swift b/Sources/CRRefresh/CRRefreshProtocol.swift
similarity index 100%
rename from CRRefresh/CRRefresh/CRRefreshProtocol.swift
rename to Sources/CRRefresh/CRRefreshProtocol.swift
diff --git a/CRRefresh/CRRefresh/UIColorExtension.swift b/Sources/CRRefresh/UIColorExtension.swift
similarity index 100%
rename from CRRefresh/CRRefresh/UIColorExtension.swift
rename to Sources/CRRefresh/UIColorExtension.swift