diff --git a/.gitignore b/.gitignore index f067d67..d4061db 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,11 @@ profile DerivedData *.hmap *.ipa +*.xcworkspace +!default.xcworkspace +xcuserdata + + # Bundler .bundle 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/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.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/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.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/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 + + diff --git a/Pod/Classes/LiquidFloatingActionButton.swift b/Pod/Classes/LiquidFloatingActionButton.swift index abdaa73..551e8a9 100644 --- a/Pod/Classes/LiquidFloatingActionButton.swift +++ b/Pod/Classes/LiquidFloatingActionButton.swift @@ -22,11 +22,12 @@ import QuartzCore @objc optional func liquidFloatingActionButtonWillCloseDrawer(_ liquidFloatingActionButton: LiquidFloatingActionButton) } -public enum LiquidFloatingActionButtonAnimateStyle : Int { +@objc public enum LiquidFloatingActionButtonAnimateStyle : Int { case up case right case left case down + case octagon } @IBDesignable @@ -41,6 +42,7 @@ open class LiquidFloatingActionButton : UIView { } open var enableShadow = true { didSet { + baseView.enableShadow = enableShadow setNeedsDisplay() } } @@ -58,14 +60,28 @@ 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 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 { + plusLayer.contentsGravity = kCAGravityCenter plusLayer.contents = image!.cgImage + plusLayer.contentsScale = UIScreen.main.scale + plusLayer.rasterizationScale = UIScreen.main.scale + plusLayer.shouldRasterize = true plusLayer.path = nil } } @@ -92,7 +108,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 @@ -178,6 +194,8 @@ open class LiquidFloatingActionButton : UIView { fileprivate func drawShadow() { if enableShadow { circleLayer.appendShadow() + } else { + circleLayer.eraseShadow() } } @@ -390,7 +408,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) } } @@ -398,12 +416,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) @@ -413,6 +431,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)) } } @@ -420,6 +443,8 @@ class CircleLiquidBaseView : ActionBarBaseView { for cell in openingCells { if enableShadow { cell.layer.appendShadow() + } else { + cell.layer.eraseShadow() } } openingCells = [] @@ -483,6 +508,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") 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,