From 2c88b5ab8b5babc1d39c1e5985ed7453284eab5e Mon Sep 17 00:00:00 2001 From: Sandeep Aggarwal <@smartSandeep1129@gmail.com> Date: Fri, 21 Jul 2017 13:47:29 +0530 Subject: [PATCH 01/12] Carthage support added --- .gitignore | 3 + ...iquidFloatingActionButton-Example.xcscheme | 115 ------ .../project.pbxproj | 344 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../LiquidFloatingActionButton.xcscheme | 18 +- Pod/Classes/Info.plist | 24 ++ Pod/Classes/LiquidFloatingActionButton.h | 19 + 7 files changed, 406 insertions(+), 124 deletions(-) delete mode 100644 Example/LiquidFloatingActionButton.xcodeproj/xcshareddata/xcschemes/LiquidFloatingActionButton-Example.xcscheme create mode 100644 LiquidFloatingActionButton.xcodeproj/project.pbxproj create mode 100644 LiquidFloatingActionButton.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/LiquidFloatingActionButton-iOS8.0.xcscheme => LiquidFloatingActionButton.xcodeproj/xcshareddata/xcschemes/LiquidFloatingActionButton.xcscheme (79%) create mode 100644 Pod/Classes/Info.plist create mode 100644 Pod/Classes/LiquidFloatingActionButton.h diff --git a/.gitignore b/.gitignore index f067d67..31aaa86 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,9 @@ profile DerivedData *.hmap *.ipa +!default.xcworkspace +xcuserdata +.gitignore # Bundler .bundle diff --git a/Example/LiquidFloatingActionButton.xcodeproj/xcshareddata/xcschemes/LiquidFloatingActionButton-Example.xcscheme b/Example/LiquidFloatingActionButton.xcodeproj/xcshareddata/xcschemes/LiquidFloatingActionButton-Example.xcscheme deleted file mode 100644 index c3f6f4f..0000000 --- a/Example/LiquidFloatingActionButton.xcodeproj/xcshareddata/xcschemes/LiquidFloatingActionButton-Example.xcscheme +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/LiquidFloatingActionButton.xcodeproj/project.pbxproj b/LiquidFloatingActionButton.xcodeproj/project.pbxproj new file mode 100644 index 0000000..50107d8 --- /dev/null +++ b/LiquidFloatingActionButton.xcodeproj/project.pbxproj @@ -0,0 +1,344 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + C18169331F21EADA00CA6D1E /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = C18169311F21EADA00CA6D1E /* Info.plist */; }; + C18169341F21EADA00CA6D1E /* LiquidFloatingActionButton.h in Headers */ = {isa = PBXBuildFile; fileRef = C18169321F21EADA00CA6D1E /* LiquidFloatingActionButton.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C181693D1F21EAE900CA6D1E /* ArrayEx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C18169351F21EAE900CA6D1E /* ArrayEx.swift */; }; + C181693E1F21EAE900CA6D1E /* CGPointEx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C18169361F21EAE900CA6D1E /* CGPointEx.swift */; }; + C181693F1F21EAE900CA6D1E /* CGRectEx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C18169371F21EAE900CA6D1E /* CGRectEx.swift */; }; + C18169401F21EAE900CA6D1E /* LiquidFloatingActionButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C18169381F21EAE900CA6D1E /* LiquidFloatingActionButton.swift */; }; + C18169411F21EAE900CA6D1E /* LiquidUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = C18169391F21EAE900CA6D1E /* LiquidUtil.swift */; }; + C18169421F21EAE900CA6D1E /* LiquittableCircle.swift in Sources */ = {isa = PBXBuildFile; fileRef = C181693A1F21EAE900CA6D1E /* LiquittableCircle.swift */; }; + C18169431F21EAE900CA6D1E /* SimpleCircleLiquidEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = C181693B1F21EAE900CA6D1E /* SimpleCircleLiquidEngine.swift */; }; + C18169441F21EAE900CA6D1E /* UIColorEx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C181693C1F21EAE900CA6D1E /* UIColorEx.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + C18169261F21E9F800CA6D1E /* LiquidFloatingActionButton.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LiquidFloatingActionButton.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C18169311F21EADA00CA6D1E /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Pod/Classes/Info.plist; sourceTree = SOURCE_ROOT; }; + C18169321F21EADA00CA6D1E /* LiquidFloatingActionButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LiquidFloatingActionButton.h; path = Pod/Classes/LiquidFloatingActionButton.h; sourceTree = SOURCE_ROOT; }; + C18169351F21EAE900CA6D1E /* ArrayEx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ArrayEx.swift; path = Pod/Classes/ArrayEx.swift; sourceTree = SOURCE_ROOT; }; + C18169361F21EAE900CA6D1E /* CGPointEx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CGPointEx.swift; path = Pod/Classes/CGPointEx.swift; sourceTree = SOURCE_ROOT; }; + C18169371F21EAE900CA6D1E /* CGRectEx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CGRectEx.swift; path = Pod/Classes/CGRectEx.swift; sourceTree = SOURCE_ROOT; }; + C18169381F21EAE900CA6D1E /* LiquidFloatingActionButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiquidFloatingActionButton.swift; path = Pod/Classes/LiquidFloatingActionButton.swift; sourceTree = SOURCE_ROOT; }; + C18169391F21EAE900CA6D1E /* LiquidUtil.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiquidUtil.swift; path = Pod/Classes/LiquidUtil.swift; sourceTree = SOURCE_ROOT; }; + C181693A1F21EAE900CA6D1E /* LiquittableCircle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiquittableCircle.swift; path = Pod/Classes/LiquittableCircle.swift; sourceTree = SOURCE_ROOT; }; + C181693B1F21EAE900CA6D1E /* SimpleCircleLiquidEngine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SimpleCircleLiquidEngine.swift; path = Pod/Classes/SimpleCircleLiquidEngine.swift; sourceTree = SOURCE_ROOT; }; + C181693C1F21EAE900CA6D1E /* UIColorEx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UIColorEx.swift; path = Pod/Classes/UIColorEx.swift; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + C18169221F21E9F800CA6D1E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + C181691C1F21E9F700CA6D1E = { + isa = PBXGroup; + children = ( + C18169281F21E9F800CA6D1E /* LiquidFloatingActionButton */, + C18169271F21E9F800CA6D1E /* Products */, + ); + sourceTree = ""; + }; + C18169271F21E9F800CA6D1E /* Products */ = { + isa = PBXGroup; + children = ( + C18169261F21E9F800CA6D1E /* LiquidFloatingActionButton.framework */, + ); + name = Products; + sourceTree = ""; + }; + C18169281F21E9F800CA6D1E /* LiquidFloatingActionButton */ = { + isa = PBXGroup; + children = ( + C18169351F21EAE900CA6D1E /* ArrayEx.swift */, + C18169361F21EAE900CA6D1E /* CGPointEx.swift */, + C18169371F21EAE900CA6D1E /* CGRectEx.swift */, + C18169381F21EAE900CA6D1E /* LiquidFloatingActionButton.swift */, + C18169391F21EAE900CA6D1E /* LiquidUtil.swift */, + C181693A1F21EAE900CA6D1E /* LiquittableCircle.swift */, + C181693B1F21EAE900CA6D1E /* SimpleCircleLiquidEngine.swift */, + C181693C1F21EAE900CA6D1E /* UIColorEx.swift */, + C18169321F21EADA00CA6D1E /* LiquidFloatingActionButton.h */, + C18169311F21EADA00CA6D1E /* Info.plist */, + ); + path = LiquidFloatingActionButton; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + C18169231F21E9F800CA6D1E /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + C18169341F21EADA00CA6D1E /* LiquidFloatingActionButton.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + C18169251F21E9F800CA6D1E /* LiquidFloatingActionButton */ = { + isa = PBXNativeTarget; + buildConfigurationList = C181692E1F21E9F800CA6D1E /* Build configuration list for PBXNativeTarget "LiquidFloatingActionButton" */; + buildPhases = ( + C18169211F21E9F800CA6D1E /* Sources */, + C18169221F21E9F800CA6D1E /* Frameworks */, + C18169231F21E9F800CA6D1E /* Headers */, + C18169241F21E9F800CA6D1E /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = LiquidFloatingActionButton; + productName = LiquidFloatingActionButton; + productReference = C18169261F21E9F800CA6D1E /* LiquidFloatingActionButton.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + C181691D1F21E9F800CA6D1E /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0830; + ORGANIZATIONNAME = "Sandeep Aggarwal"; + TargetAttributes = { + C18169251F21E9F800CA6D1E = { + CreatedOnToolsVersion = 8.3.3; + DevelopmentTeam = L4XJFYDD5W; + LastSwiftMigration = 0830; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = C18169201F21E9F800CA6D1E /* Build configuration list for PBXProject "LiquidFloatingActionButton" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = C181691C1F21E9F700CA6D1E; + productRefGroup = C18169271F21E9F800CA6D1E /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + C18169251F21E9F800CA6D1E /* LiquidFloatingActionButton */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + C18169241F21E9F800CA6D1E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C18169331F21EADA00CA6D1E /* Info.plist in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + C18169211F21E9F800CA6D1E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C18169431F21EAE900CA6D1E /* SimpleCircleLiquidEngine.swift in Sources */, + C18169421F21EAE900CA6D1E /* LiquittableCircle.swift in Sources */, + C181693D1F21EAE900CA6D1E /* ArrayEx.swift in Sources */, + C181693F1F21EAE900CA6D1E /* CGRectEx.swift in Sources */, + C18169441F21EAE900CA6D1E /* UIColorEx.swift in Sources */, + C18169411F21EAE900CA6D1E /* LiquidUtil.swift in Sources */, + C18169401F21EAE900CA6D1E /* LiquidFloatingActionButton.swift in Sources */, + C181693E1F21EAE900CA6D1E /* CGPointEx.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + C181692C1F21E9F800CA6D1E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 10.3; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + C181692D1F21E9F800CA6D1E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 10.3; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + C181692F1F21E9F800CA6D1E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = ""; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = L4XJFYDD5W; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/Pod/Classes/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 = SandeepAggarwal.LiquidFloatingActionButton; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; + }; + name = Debug; + }; + C18169301F21E9F800CA6D1E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = ""; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = L4XJFYDD5W; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "$(SRCROOT)/Pod/Classes/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 = SandeepAggarwal.LiquidFloatingActionButton; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 3.0; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + C18169201F21E9F800CA6D1E /* Build configuration list for PBXProject "LiquidFloatingActionButton" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C181692C1F21E9F800CA6D1E /* Debug */, + C181692D1F21E9F800CA6D1E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C181692E1F21E9F800CA6D1E /* Build configuration list for PBXNativeTarget "LiquidFloatingActionButton" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C181692F1F21E9F800CA6D1E /* Debug */, + C18169301F21E9F800CA6D1E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = C181691D1F21E9F800CA6D1E /* Project object */; +} diff --git a/LiquidFloatingActionButton.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/LiquidFloatingActionButton.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..e9318b8 --- /dev/null +++ b/LiquidFloatingActionButton.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/LiquidFloatingActionButton-iOS8.0.xcscheme b/LiquidFloatingActionButton.xcodeproj/xcshareddata/xcschemes/LiquidFloatingActionButton.xcscheme similarity index 79% rename from Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/LiquidFloatingActionButton-iOS8.0.xcscheme rename to LiquidFloatingActionButton.xcodeproj/xcshareddata/xcschemes/LiquidFloatingActionButton.xcscheme index b5797c4..0caa523 100644 --- a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/LiquidFloatingActionButton-iOS8.0.xcscheme +++ b/LiquidFloatingActionButton.xcodeproj/xcshareddata/xcschemes/LiquidFloatingActionButton.xcscheme @@ -14,10 +14,10 @@ buildForAnalyzing = "YES"> + BlueprintName = "LiquidFloatingActionButton" + ReferencedContainer = "container:LiquidFloatingActionButton.xcodeproj"> @@ -45,10 +45,10 @@ + BlueprintName = "LiquidFloatingActionButton" + ReferencedContainer = "container:LiquidFloatingActionButton.xcodeproj"> @@ -63,10 +63,10 @@ + BlueprintName = "LiquidFloatingActionButton" + ReferencedContainer = "container:LiquidFloatingActionButton.xcodeproj"> diff --git a/Pod/Classes/Info.plist b/Pod/Classes/Info.plist new file mode 100644 index 0000000..fbe1e6b --- /dev/null +++ b/Pod/Classes/Info.plist @@ -0,0 +1,24 @@ + + + + + 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/Pod/Classes/LiquidFloatingActionButton.h b/Pod/Classes/LiquidFloatingActionButton.h new file mode 100644 index 0000000..698563a --- /dev/null +++ b/Pod/Classes/LiquidFloatingActionButton.h @@ -0,0 +1,19 @@ +// +// LiquidFloatingActionButton.h +// LiquidFloatingActionButton +// +// Created by Sandeep Aggarwal on 21/07/17. +// Copyright © 2017 Sandeep Aggarwal. All rights reserved. +// + +#import + +//! Project version number for LiquidFloatingActionButton. +FOUNDATION_EXPORT double LiquidFloatingActionButtonVersionNumber; + +//! Project version string for LiquidFloatingActionButton. +FOUNDATION_EXPORT const unsigned char LiquidFloatingActionButtonVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + From bbe6989cc5aab1918a3d13e2ddc93c190b191c74 Mon Sep 17 00:00:00 2001 From: Sandeep Aggarwal <@smartSandeep1129@gmail.com> Date: Fri, 21 Jul 2017 13:50:02 +0530 Subject: [PATCH 02/12] git ignored files cache removed --- .gitignore | 36 ------------------- .../contents.xcworkspacedata | 7 ---- .../contents.xcworkspacedata | 10 ------ .../contents.xcworkspacedata | 7 ---- .../contents.xcworkspacedata | 7 ---- 5 files changed, 67 deletions(-) delete mode 100644 .gitignore delete mode 100644 Example/LiquidFloatingActionButton.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 Example/LiquidFloatingActionButton.xcworkspace/contents.xcworkspacedata delete mode 100644 Example/Pods/Pods.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 LiquidFloatingActionButton.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 31aaa86..0000000 --- a/.gitignore +++ /dev/null @@ -1,36 +0,0 @@ -# OS X -.DS_Store - -# Xcode -build/ -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 -xcuserdata -*.xccheckout -profile -*.moved-aside -DerivedData -*.hmap -*.ipa -!default.xcworkspace -xcuserdata -.gitignore - -# Bundler -.bundle - -Carthage -# We recommend against adding the Pods directory to your .gitignore. However -# you should judge for yourself, the pros and cons are mentioned at: -# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control -# -# Note: if you ignore the Pods directory, make sure to uncomment -# `pod install` in .travis.yml -# -# Pods/ diff --git a/Example/LiquidFloatingActionButton.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Example/LiquidFloatingActionButton.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index e9318b8..0000000 --- a/Example/LiquidFloatingActionButton.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/Example/LiquidFloatingActionButton.xcworkspace/contents.xcworkspacedata b/Example/LiquidFloatingActionButton.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 7a81707..0000000 --- a/Example/LiquidFloatingActionButton.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/Example/Pods/Pods.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Example/Pods/Pods.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/Example/Pods/Pods.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/LiquidFloatingActionButton.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/LiquidFloatingActionButton.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index e9318b8..0000000 --- a/LiquidFloatingActionButton.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - From b0bc8484aff4f2ee5a65a35d7533beba7f066715 Mon Sep 17 00:00:00 2001 From: Sandeep Aggarwal <@smartSandeep1129@gmail.com> Date: Fri, 21 Jul 2017 18:17:11 +0530 Subject: [PATCH 03/12] fix: enum LiquidFloatingActionButtonAnimateStyle made available to Swift --- .../LiquidFloatingActionButton.xcodeproj/project.pbxproj | 9 ++++++--- Pod/Classes/LiquidFloatingActionButton.swift | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Example/LiquidFloatingActionButton.xcodeproj/project.pbxproj b/Example/LiquidFloatingActionButton.xcodeproj/project.pbxproj index eef5bf1..4e34951 100644 --- a/Example/LiquidFloatingActionButton.xcodeproj/project.pbxproj +++ b/Example/LiquidFloatingActionButton.xcodeproj/project.pbxproj @@ -216,11 +216,12 @@ TargetAttributes = { 607FACCF1AFB9204008FA782 = { CreatedOnToolsVersion = 6.3.1; - DevelopmentTeam = 5BNC8N825B; + DevelopmentTeam = 2E3PK56V7J; LastSwiftMigration = 0800; }; 607FACE41AFB9204008FA782 = { CreatedOnToolsVersion = 6.3.1; + DevelopmentTeam = 2E3PK56V7J; LastSwiftMigration = 0800; TestTargetID = 607FACCF1AFB9204008FA782; }; @@ -493,7 +494,7 @@ baseConfigurationReference = 80EF48C45D584D0DAE9D6988 /* Pods-LiquidFloatingActionButton_Example.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - DEVELOPMENT_TEAM = 5BNC8N825B; + DEVELOPMENT_TEAM = 2E3PK56V7J; INFOPLIST_FILE = LiquidFloatingActionButton/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -509,7 +510,7 @@ baseConfigurationReference = 386F17A74F71B30EC9A19FE2 /* Pods-LiquidFloatingActionButton_Example.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - DEVELOPMENT_TEAM = 5BNC8N825B; + DEVELOPMENT_TEAM = 2E3PK56V7J; INFOPLIST_FILE = LiquidFloatingActionButton/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -525,6 +526,7 @@ baseConfigurationReference = EA315BFAE52E692548EF4579 /* Pods-LiquidFloatingActionButton_Tests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; + DEVELOPMENT_TEAM = 2E3PK56V7J; FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", @@ -547,6 +549,7 @@ baseConfigurationReference = E99FC56FB6D1F023BC78CC25 /* Pods-LiquidFloatingActionButton_Tests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; + DEVELOPMENT_TEAM = 2E3PK56V7J; FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", diff --git a/Pod/Classes/LiquidFloatingActionButton.swift b/Pod/Classes/LiquidFloatingActionButton.swift index abdaa73..215a670 100644 --- a/Pod/Classes/LiquidFloatingActionButton.swift +++ b/Pod/Classes/LiquidFloatingActionButton.swift @@ -22,7 +22,7 @@ import QuartzCore @objc optional func liquidFloatingActionButtonWillCloseDrawer(_ liquidFloatingActionButton: LiquidFloatingActionButton) } -public enum LiquidFloatingActionButtonAnimateStyle : Int { +@objc public enum LiquidFloatingActionButtonAnimateStyle : Int { case up case right case left From 4cfd94ec519f56f1f10bd795ef681445a9adca89 Mon Sep 17 00:00:00 2001 From: Sandeep Aggarwal <@smartSandeep1129@gmail.com> Date: Fri, 21 Jul 2017 21:30:22 +0530 Subject: [PATCH 04/12] LiquidFloatingCell new initialization method added --- Pod/Classes/LiquidFloatingActionButton.swift | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Pod/Classes/LiquidFloatingActionButton.swift b/Pod/Classes/LiquidFloatingActionButton.swift index 215a670..ddabdf5 100644 --- a/Pod/Classes/LiquidFloatingActionButton.swift +++ b/Pod/Classes/LiquidFloatingActionButton.swift @@ -483,6 +483,12 @@ open class LiquidFloatingCell : LiquittableCircle { super.init() setup(icon) } + + public init(icon: UIImage , tintColor: UIColor) { + self.originalColor = UIColor.clear + super.init() + setup(icon, tintColor: tintColor) + } required public init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") From 994dbdcb58202b91c72d599a03923ada01161bbe Mon Sep 17 00:00:00 2001 From: Sandeep Aggarwal <@smartSandeep1129@gmail.com> Date: Fri, 21 Jul 2017 21:47:36 +0530 Subject: [PATCH 05/12] fix: enableShadow was not working --- Pod/Classes/LiquidFloatingActionButton.swift | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Pod/Classes/LiquidFloatingActionButton.swift b/Pod/Classes/LiquidFloatingActionButton.swift index ddabdf5..33e0a4d 100644 --- a/Pod/Classes/LiquidFloatingActionButton.swift +++ b/Pod/Classes/LiquidFloatingActionButton.swift @@ -41,6 +41,7 @@ open class LiquidFloatingActionButton : UIView { } open var enableShadow = true { didSet { + baseView.enableShadow = enableShadow setNeedsDisplay() } } @@ -178,6 +179,8 @@ open class LiquidFloatingActionButton : UIView { fileprivate func drawShadow() { if enableShadow { circleLayer.appendShadow() + } else { + circleLayer.eraseShadow() } } @@ -420,6 +423,8 @@ class CircleLiquidBaseView : ActionBarBaseView { for cell in openingCells { if enableShadow { cell.layer.appendShadow() + } else { + cell.layer.eraseShadow() } } openingCells = [] From 508e596a71e800c14c6452fcb21faf384b18439d Mon Sep 17 00:00:00 2001 From: Sandeep Aggarwal <@smartSandeep1129@gmail.com> Date: Sat, 22 Jul 2017 00:10:44 +0530 Subject: [PATCH 06/12] LiquidFloatingActionButton image layer contents gravity set to kCAGravityCenter --- Pod/Classes/LiquidFloatingActionButton.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Pod/Classes/LiquidFloatingActionButton.swift b/Pod/Classes/LiquidFloatingActionButton.swift index 33e0a4d..6a3b7d6 100644 --- a/Pod/Classes/LiquidFloatingActionButton.swift +++ b/Pod/Classes/LiquidFloatingActionButton.swift @@ -66,6 +66,7 @@ open class LiquidFloatingActionButton : UIView { @IBInspectable open var image: UIImage? { didSet { if image != nil { + plusLayer.contentsGravity = kCAGravityCenter plusLayer.contents = image!.cgImage plusLayer.path = nil } From 57f18c2ea6be1b49074c0abd35460f33bce26fac Mon Sep 17 00:00:00 2001 From: Sandeep Aggarwal <@smartSandeep1129@gmail.com> Date: Mon, 24 Jul 2017 13:28:27 +0530 Subject: [PATCH 07/12] fix: LiquidFloatingActionButton color can't be set to white --- Pod/Classes/UIColorEx.swift | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Pod/Classes/UIColorEx.swift b/Pod/Classes/UIColorEx.swift index e45a305..c6f9a91 100644 --- a/Pod/Classes/UIColorEx.swift +++ b/Pod/Classes/UIColorEx.swift @@ -43,6 +43,12 @@ extension UIColor { } func white(_ scale: CGFloat) -> UIColor { + + guard (self.cgColor.components?.count)! == 4 else + { + return UIColor.init(white: scale, alpha: 1.0) + } + return UIColor( red: self.redC + (1.0 - self.redC) * scale, green: self.greenC + (1.0 - self.greenC) * scale, From 5fac5d45a52b5de999f65601508575a51d18b21d Mon Sep 17 00:00:00 2001 From: Sandeep Aggarwal <@smartSandeep1129@gmail.com> Date: Mon, 24 Jul 2017 13:53:35 +0530 Subject: [PATCH 08/12] cell color can be set individualy now --- Pod/Classes/LiquidFloatingActionButton.swift | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Pod/Classes/LiquidFloatingActionButton.swift b/Pod/Classes/LiquidFloatingActionButton.swift index 6a3b7d6..87cca1f 100644 --- a/Pod/Classes/LiquidFloatingActionButton.swift +++ b/Pod/Classes/LiquidFloatingActionButton.swift @@ -59,10 +59,13 @@ open class LiquidFloatingActionButton : UIView { @IBInspectable open var color: UIColor = UIColor(red: 82 / 255.0, green: 112 / 255.0, blue: 235 / 255.0, alpha: 1.0) { didSet { + cellColor = color baseView.color = color } } + @IBInspectable open var cellColor: UIColor = UIColor(red: 82 / 255.0, green: 112 / 255.0, blue: 235 / 255.0, alpha: 1.0) + @IBInspectable open var image: UIImage? { didSet { if image != nil { @@ -94,7 +97,7 @@ open class LiquidFloatingActionButton : UIView { } fileprivate func insertCell(_ cell: LiquidFloatingCell) { - cell.color = self.color + cell.color = self.cellColor cell.radius = self.frame.width * cellRadiusRatio cell.center = self.center.minus(self.frame.origin) cell.actionButton = self From 4456bb12207c8209c3f85e15639191a9f8e3e5c6 Mon Sep 17 00:00:00 2001 From: Sandeep Aggarwal <@smartSandeep1129@gmail.com> Date: Mon, 24 Jul 2017 14:10:21 +0530 Subject: [PATCH 09/12] liquid color can be set individually now --- Pod/Classes/LiquidFloatingActionButton.swift | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Pod/Classes/LiquidFloatingActionButton.swift b/Pod/Classes/LiquidFloatingActionButton.swift index 87cca1f..ed6b306 100644 --- a/Pod/Classes/LiquidFloatingActionButton.swift +++ b/Pod/Classes/LiquidFloatingActionButton.swift @@ -66,6 +66,13 @@ open class LiquidFloatingActionButton : UIView { @IBInspectable open var cellColor: UIColor = UIColor(red: 82 / 255.0, green: 112 / 255.0, blue: 235 / 255.0, alpha: 1.0) + @IBInspectable open var liquidColor: UIColor = UIColor(red: 82 / 255.0, green: 112 / 255.0, blue: 235 / 255.0, alpha: 1.0){ + didSet { + baseView.color = liquidColor + } + } + + @IBInspectable open var image: UIImage? { didSet { if image != nil { From fb67b871f994f75b440eb24247a63b9fd75daa25 Mon Sep 17 00:00:00 2001 From: Sandeep Aggarwal <@smartSandeep1129@gmail.com> Date: Mon, 24 Jul 2017 20:01:29 +0530 Subject: [PATCH 10/12] added octagon Animation style --- Pod/Classes/LiquidFloatingActionButton.swift | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Pod/Classes/LiquidFloatingActionButton.swift b/Pod/Classes/LiquidFloatingActionButton.swift index ed6b306..a09b653 100644 --- a/Pod/Classes/LiquidFloatingActionButton.swift +++ b/Pod/Classes/LiquidFloatingActionButton.swift @@ -27,6 +27,7 @@ import QuartzCore case right case left case down + case octagon } @IBDesignable @@ -404,7 +405,7 @@ class CircleLiquidBaseView : ActionBarBaseView { update(0.1, duration: openDuration) { cell, i, ratio in let posRatio = ratio > CGFloat(i) / CGFloat(self.openingCells.count) ? ratio : 0 let distance = (cell.frame.height * 0.5 + CGFloat(i + 1) * cell.frame.height * 1.5) * posRatio - cell.center = self.center.plus(self.differencePoint(distance)) + cell.center = self.center.plus(self.differencePoint(cell: cell, distance:distance, position: i, ratio: (Double(posRatio)))) cell.update(ratio, open: true) } } @@ -412,12 +413,12 @@ class CircleLiquidBaseView : ActionBarBaseView { func updateClose() { update(0, duration: closeDuration) { cell, i, ratio in let distance = (cell.frame.height * 0.5 + CGFloat(i + 1) * cell.frame.height * 1.5) * (1 - ratio) - cell.center = self.center.plus(self.differencePoint(distance)) + cell.center = self.center.plus(self.differencePoint(cell: cell, distance:distance, position: i, ratio: (Double(1 - ratio)))) cell.update(ratio, open: false) } } - func differencePoint(_ distance: CGFloat) -> CGPoint { + func differencePoint(cell: LiquidFloatingCell, distance: CGFloat, position: Int, ratio: Double) -> CGPoint { switch animateStyle { case .up: return CGPoint(x: 0, y: -distance) @@ -427,6 +428,11 @@ class CircleLiquidBaseView : ActionBarBaseView { return CGPoint(x: -distance, y: 0) case .down: return CGPoint(x: 0, y: distance) + case .octagon: + + let radius = Double(cell.bounds.size.height * CGFloat(2.0))*ratio + let angle = -(45) * Double(position) * .pi / 180 + return CGPoint(x: radius*sin(angle), y: -radius*cos(angle)) } } From 4488d4eeac4b2db975fd4f43a14bb312e285690f Mon Sep 17 00:00:00 2001 From: Sandeep Aggarwal <@smartSandeep1129@gmail.com> Date: Tue, 25 Jul 2017 19:40:35 +0530 Subject: [PATCH 11/12] LiquidFloatingActionButton layer scale set to main screen's scale to avoid blurryness of image --- Pod/Classes/LiquidFloatingActionButton.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Pod/Classes/LiquidFloatingActionButton.swift b/Pod/Classes/LiquidFloatingActionButton.swift index a09b653..551e8a9 100644 --- a/Pod/Classes/LiquidFloatingActionButton.swift +++ b/Pod/Classes/LiquidFloatingActionButton.swift @@ -79,6 +79,9 @@ open class LiquidFloatingActionButton : UIView { if image != nil { plusLayer.contentsGravity = kCAGravityCenter plusLayer.contents = image!.cgImage + plusLayer.contentsScale = UIScreen.main.scale + plusLayer.rasterizationScale = UIScreen.main.scale + plusLayer.shouldRasterize = true plusLayer.path = nil } } From 39a25c42a785db94af0fcfec31208d276bf61080 Mon Sep 17 00:00:00 2001 From: Sandeep Aggarwal <@smartSandeep1129@gmail.com> Date: Wed, 26 Jul 2017 11:41:06 +0530 Subject: [PATCH 12/12] .gitignore re-added --- .gitignore | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d4061db --- /dev/null +++ b/.gitignore @@ -0,0 +1,38 @@ +# OS X +.DS_Store + +# Xcode +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +profile +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcworkspace +!default.xcworkspace +xcuserdata + + + +# Bundler +.bundle + +Carthage +# We recommend against adding the Pods directory to your .gitignore. However +# you should judge for yourself, the pros and cons are mentioned at: +# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control +# +# Note: if you ignore the Pods directory, make sure to uncomment +# `pod install` in .travis.yml +# +# Pods/