6 Commits

Author SHA1 Message Date
Mike Maxwell 229e5c202d Merge branch 'feature/set-percent-complete'
Accidentally committed to feature branch, pulling back into master.
2017-07-22 17:55:05 -07:00
Mike Maxwell 5b48c1d9e2 Project updates for Xcode 8.3.3 2017-07-22 17:54:01 -07:00
Mike Maxwell 0082dd2343 Fixes #12 by improving layout of example for landscape mode 2017-07-22 17:43:42 -07:00
Mike Maxwell 49dbcbf4c2 Merge pull request #19 from misterwell/feature/set-percent-complete
Feature/set percent complete
2017-07-22 17:33:31 -07:00
Mike Maxwell cb689478a5 Pod update on example project 2017-07-22 17:28:58 -07:00
Mike Maxwell f1424862a9 #11: Adding support for manually setting the percentComplete, which can be used to implement a custom pull-to-refresh control for a tableview 2017-07-22 17:27:11 -07:00
19 changed files with 495 additions and 212 deletions
@@ -23,6 +23,7 @@
6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; };
6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5B8195388D20070C39A /* InfoPlist.strings */; };
6003F5BC195388D20070C39A /* Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F5BB195388D20070C39A /* Tests.m */; };
DB00E2101F23C12C00898B82 /* MMTableViewRefreshDemoController.m in Sources */ = {isa = PBXBuildFile; fileRef = DB00E20F1F23C12C00898B82 /* MMTableViewRefreshDemoController.m */; };
DB7295681BC9B25B009FD543 /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DB7295661BC9B25B009FD543 /* Launch Screen.storyboard */; };
/* End PBXBuildFile section */
@@ -65,6 +66,8 @@
BB285D85DDBCA3BB5368E9D5 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = "<group>"; };
C8117106087F098A36FCC7F6 /* MMMaterialDesignSpinner.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = MMMaterialDesignSpinner.podspec; path = ../MMMaterialDesignSpinner.podspec; sourceTree = "<group>"; };
D62024797BF9E0256134B3A1 /* Pods-MaterialDesignSpinner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MaterialDesignSpinner.debug.xcconfig"; path = "Pods/Target Support Files/Pods-MaterialDesignSpinner/Pods-MaterialDesignSpinner.debug.xcconfig"; sourceTree = "<group>"; };
DB00E20E1F23C12C00898B82 /* MMTableViewRefreshDemoController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MMTableViewRefreshDemoController.h; sourceTree = "<group>"; };
DB00E20F1F23C12C00898B82 /* MMTableViewRefreshDemoController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MMTableViewRefreshDemoController.m; sourceTree = "<group>"; };
DB7295671BC9B25B009FD543 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = "Base.lproj/Launch Screen.storyboard"; sourceTree = "<group>"; };
FFAEBE2A7061ED538B50A755 /* Pods-Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-Tests/Pods-Tests.release.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
@@ -140,6 +143,8 @@
6003F5A6195388D20070C39A /* MMViewController.m */,
6003F5A8195388D20070C39A /* Images.xcassets */,
6003F594195388D20070C39A /* Supporting Files */,
DB00E20E1F23C12C00898B82 /* MMTableViewRefreshDemoController.h */,
DB00E20F1F23C12C00898B82 /* MMTableViewRefreshDemoController.m */,
);
path = MaterialDesignSpinner;
sourceTree = "<group>";
@@ -246,7 +251,7 @@
isa = PBXProject;
attributes = {
CLASSPREFIX = MM;
LastUpgradeCheck = 0510;
LastUpgradeCheck = 0830;
ORGANIZATIONNAME = "Mike Maxwell";
TargetAttributes = {
6003F5AD195388D20070C39A = {
@@ -395,6 +400,7 @@
files = (
6003F59E195388D20070C39A /* MMAppDelegate.m in Sources */,
6003F5A7195388D20070C39A /* MMViewController.m in Sources */,
DB00E2101F23C12C00898B82 /* MMTableViewRefreshDemoController.m in Sources */,
6003F59A195388D20070C39A /* main.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -466,12 +472,18 @@
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
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;
COPY_PHASE_STRIP = NO;
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",
@@ -484,7 +496,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
IPHONEOS_DEPLOYMENT_TARGET = 10.3;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -504,19 +516,24 @@
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
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;
COPY_PHASE_STRIP = YES;
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 = 8.0;
IPHONEOS_DEPLOYMENT_TARGET = 10.3;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
@@ -531,6 +548,7 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "MaterialDesignSpinner/MaterialDesignSpinner-Prefix.pch";
INFOPLIST_FILE = "MaterialDesignSpinner/MaterialDesignSpinner-Info.plist";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
@@ -544,6 +562,7 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "MaterialDesignSpinner/MaterialDesignSpinner-Prefix.pch";
INFOPLIST_FILE = "MaterialDesignSpinner/MaterialDesignSpinner-Info.plist";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
@@ -566,6 +585,7 @@
"$(inherited)",
);
INFOPLIST_FILE = "Tests/Tests-Info.plist";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUNDLE_LOADER)";
WRAPPER_EXTENSION = xctest;
@@ -585,6 +605,7 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch";
INFOPLIST_FILE = "Tests/Tests-Info.plist";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUNDLE_LOADER)";
WRAPPER_EXTENSION = xctest;
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0600"
LastUpgradeVersion = "0830"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@@ -23,10 +23,10 @@
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
@@ -48,17 +48,21 @@
ReferencedContainer = "container:MaterialDesignSpinner.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "6003F589195388D20070C39A"
@@ -71,12 +75,13 @@
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "6003F589195388D20070C39A"
@@ -1,17 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16F73" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="vXZ-lx-hvc">
<device id="retina4_7" orientation="portrait">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16F73" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="uXx-W6-c1L">
<device id="retina4_7" orientation="landscape">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
<capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<!--Navigation Controller-->
<scene sceneID="cR8-to-byt">
<objects>
<navigationController id="uXx-W6-c1L" sceneMemberID="viewController">
<navigationBar key="navigationBar" contentMode="scaleToFill" id="YyW-hz-Jes">
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<connections>
<segue destination="vXZ-lx-hvc" kind="relationship" relationship="rootViewController" id="Hc9-Jl-q8w"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="sL4-ez-7Rp" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-284" y="438"/>
</scene>
<!--Spinner Demo-->
<scene sceneID="ufC-wZ-h7g">
<objects>
<viewController id="vXZ-lx-hvc" customClass="MMViewController" sceneMemberID="viewController">
@@ -20,106 +36,141 @@
<viewControllerLayoutGuide type="bottom" id="2fi-mo-0CV"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="kh9-bI-dsS">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<rect key="frame" x="0.0" y="0.0" width="667" height="375"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="HW3-rr-Akw" customClass="MMMaterialDesignSpinner">
<rect key="frame" x="125" y="271" width="125" height="125"/>
<rect key="frame" x="282.5" y="112" width="102" height="102"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="width" priority="750" constant="150" id="V9j-yU-cYh"/>
<constraint firstAttribute="width" secondItem="HW3-rr-Akw" secondAttribute="height" multiplier="1:1" id="eh9-m5-0OE"/>
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bxJ-ep-Qc5">
<rect key="frame" x="140.5" y="416" width="94" height="30"/>
<state key="normal" title="Change Color"/>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Xg1-YZ-sWL">
<rect key="frame" x="245.5" y="72" width="176" height="30"/>
<state key="normal" title="Table View Refresh Demo"/>
<connections>
<action selector="changeColorButtonTouched:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="zUc-r8-e9P"/>
<segue destination="yGj-0q-1O8" kind="show" id="TDu-UG-S9b"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Umg-oT-Dv1">
<rect key="frame" x="122" y="454" width="131" height="30"/>
<state key="normal" title="Change Line Width"/>
<connections>
<action selector="changeLineWidthButtonTouched:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="Kgo-vV-Mja"/>
</connections>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="P6d-eP-pjF">
<rect key="frame" x="67.5" y="492" width="240" height="30"/>
<stackView opaque="NO" contentMode="scaleToFill" verticalCompressionResistancePriority="1000" axis="vertical" alignment="center" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="C5g-gW-XGY">
<rect key="frame" x="20" y="224" width="627" height="131"/>
<subviews>
<slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="1.5" minValue="0.0" maxValue="10" translatesAutoresizingMaskIntoConstraints="NO" id="BCa-2B-PxA">
<rect key="frame" x="72" y="0.0" width="170" height="31"/>
<stackView opaque="NO" contentMode="scaleToFill" verticalCompressionResistancePriority="1000" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="SCW-8b-chC">
<rect key="frame" x="245.5" y="0.0" width="136" height="20.5"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Animating" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VOX-Dm-Moq">
<rect key="frame" x="0.0" y="0.0" width="77" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
<switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="lzS-2t-fnC">
<rect key="frame" x="87" y="0.0" width="51" height="20.5"/>
<connections>
<action selector="animateSwitchValueDidChange:" destination="vXZ-lx-hvc" eventType="valueChanged" id="Eec-rx-TlF"/>
</connections>
</switch>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" verticalCompressionResistancePriority="1000" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="P1z-mM-mIQ">
<rect key="frame" x="193" y="30.5" width="241.5" height="20.5"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Duration" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oZk-x6-Cbo">
<rect key="frame" x="0.0" y="0.0" width="65.5" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
<slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="1.5" minValue="0.0" maxValue="10" translatesAutoresizingMaskIntoConstraints="NO" id="BCa-2B-PxA">
<rect key="frame" x="73.5" y="0.0" width="170" height="21.5"/>
<constraints>
<constraint firstAttribute="width" constant="166" id="oZZ-eP-B6N"/>
</constraints>
<connections>
<action selector="sliderValueChanged:" destination="vXZ-lx-hvc" eventType="valueChanged" id="zuh-gN-Azo"/>
<action selector="sliderValueUpdated:" destination="vXZ-lx-hvc" eventType="touchUpOutside" id="bci-e6-9Ia"/>
<action selector="sliderValueUpdated:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="cfC-0R-vgj"/>
</connections>
</slider>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" verticalCompressionResistancePriority="1000" distribution="fillEqually" alignment="center" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="vgU-Kg-LIP">
<rect key="frame" x="0.0" y="61" width="627" height="30"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bxJ-ep-Qc5">
<rect key="frame" x="0.0" y="0.0" width="308.5" height="30"/>
<state key="normal" title="Change Color"/>
<connections>
<action selector="changeColorButtonTouched:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="zUc-r8-e9P"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Umg-oT-Dv1">
<rect key="frame" x="318.5" y="0.0" width="308.5" height="30"/>
<state key="normal" title="Change Line Width"/>
<connections>
<action selector="changeLineWidthButtonTouched:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="Kgo-vV-Mja"/>
</connections>
</button>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" verticalCompressionResistancePriority="1000" distribution="fillEqually" alignment="center" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="FhH-4Y-9FI">
<rect key="frame" x="0.0" y="101" width="627" height="30"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="E1O-wf-Kab">
<rect key="frame" x="0.0" y="0.0" width="202.5" height="30"/>
<state key="normal" title="Square Cap"/>
<connections>
<action selector="squareCapButtonPressed:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="Wea-lk-mor"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="voE-WH-qy2">
<rect key="frame" x="212.5" y="0.0" width="202" height="30"/>
<state key="normal" title="Round Cap"/>
<connections>
<action selector="rouncCapButtonPressed:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="2Gq-FN-hQJ"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="MUs-BJ-ux5">
<rect key="frame" x="424.5" y="0.0" width="202.5" height="30"/>
<state key="normal" title="Butt Cap"/>
<connections>
<action selector="buttCapButtonPressed:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="swh-1h-iNn"/>
</connections>
</button>
</subviews>
<constraints>
<constraint firstAttribute="width" constant="166" id="oZZ-eP-B6N"/>
<constraint firstItem="E1O-wf-Kab" firstAttribute="height" secondItem="voE-WH-qy2" secondAttribute="height" id="1NR-sA-TDH"/>
<constraint firstItem="voE-WH-qy2" firstAttribute="height" secondItem="MUs-BJ-ux5" secondAttribute="height" id="oiK-HF-nAp"/>
</constraints>
<connections>
<action selector="durationSliderValueUpdated:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="Yt3-t2-Zln"/>
<action selector="durationSliderValueUpdated:" destination="vXZ-lx-hvc" eventType="touchUpOutside" id="btR-st-mNM"/>
</connections>
</slider>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Duration" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oZk-x6-Cbo">
<rect key="frame" x="0.0" y="5.5" width="65.5" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
</stackView>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="oZk-x6-Cbo" firstAttribute="centerY" secondItem="BCa-2B-PxA" secondAttribute="centerY" id="9CN-GK-gQI"/>
<constraint firstItem="BCa-2B-PxA" firstAttribute="leading" secondItem="oZk-x6-Cbo" secondAttribute="trailing" constant="8.5" id="E0Y-Nj-D7M"/>
<constraint firstItem="BCa-2B-PxA" firstAttribute="top" secondItem="P6d-eP-pjF" secondAttribute="top" id="MGc-Sw-dlP"/>
<constraint firstItem="oZk-x6-Cbo" firstAttribute="leading" secondItem="P6d-eP-pjF" secondAttribute="leading" id="Qop-uU-SMI"/>
<constraint firstAttribute="bottom" secondItem="BCa-2B-PxA" secondAttribute="bottom" id="rMj-n9-UZP"/>
<constraint firstAttribute="trailing" secondItem="BCa-2B-PxA" secondAttribute="trailing" id="yAh-JG-gqX"/>
<constraint firstAttribute="trailing" secondItem="vgU-Kg-LIP" secondAttribute="trailing" id="DFc-hR-NCb"/>
<constraint firstItem="FhH-4Y-9FI" firstAttribute="leading" secondItem="C5g-gW-XGY" secondAttribute="leading" id="LVA-gI-czP"/>
<constraint firstItem="vgU-Kg-LIP" firstAttribute="leading" secondItem="C5g-gW-XGY" secondAttribute="leading" id="aBx-ZZ-ZM0"/>
<constraint firstAttribute="trailing" secondItem="FhH-4Y-9FI" secondAttribute="trailing" id="ozq-K9-OuC"/>
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="voE-WH-qy2">
<rect key="frame" x="149.5" y="577" width="76" height="30"/>
<state key="normal" title="Round Cap"/>
<connections>
<action selector="rouncCapButtonPressed:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="2Gq-FN-hQJ"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="E1O-wf-Kab">
<rect key="frame" x="147.5" y="539" width="80" height="30"/>
<state key="normal" title="Square Cap"/>
<connections>
<action selector="squareCapButtonPressed:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="Wea-lk-mor"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="MUs-BJ-ux5">
<rect key="frame" x="157.5" y="615" width="61" height="30"/>
<state key="normal" title="Butt Cap"/>
<connections>
<action selector="buttCapButtonPressed:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="swh-1h-iNn"/>
</connections>
</button>
</stackView>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="2fi-mo-0CV" firstAttribute="top" secondItem="MUs-BJ-ux5" secondAttribute="bottom" constant="22" id="0xl-6Q-hU4"/>
<constraint firstItem="Umg-oT-Dv1" firstAttribute="top" secondItem="bxJ-ep-Qc5" secondAttribute="bottom" constant="8" symbolic="YES" id="1EZ-mV-u15"/>
<constraint firstItem="HW3-rr-Akw" firstAttribute="width" secondItem="kh9-bI-dsS" secondAttribute="width" multiplier="1:3" id="4dr-09-65z"/>
<constraint firstItem="MUs-BJ-ux5" firstAttribute="centerX" secondItem="voE-WH-qy2" secondAttribute="centerX" id="5Rg-aR-c0F"/>
<constraint firstItem="MUs-BJ-ux5" firstAttribute="top" secondItem="voE-WH-qy2" secondAttribute="bottom" constant="8" id="7j5-kf-qx7"/>
<constraint firstItem="Umg-oT-Dv1" firstAttribute="centerX" secondItem="kh9-bI-dsS" secondAttribute="centerX" id="A0X-DN-AiI"/>
<constraint firstItem="bxJ-ep-Qc5" firstAttribute="top" secondItem="HW3-rr-Akw" secondAttribute="bottom" constant="20" id="Cmt-gg-FUs"/>
<constraint firstItem="voE-WH-qy2" firstAttribute="centerX" secondItem="E1O-wf-Kab" secondAttribute="centerX" id="Hzd-yG-hd7"/>
<constraint firstItem="E1O-wf-Kab" firstAttribute="centerX" secondItem="kh9-bI-dsS" secondAttribute="centerX" id="IlT-UV-I9g"/>
<constraint firstItem="P6d-eP-pjF" firstAttribute="centerX" secondItem="kh9-bI-dsS" secondAttribute="centerX" id="LUZ-rw-3h9"/>
<constraint firstItem="bxJ-ep-Qc5" firstAttribute="centerX" secondItem="kh9-bI-dsS" secondAttribute="centerX" id="NEM-nh-Nf9"/>
<constraint firstItem="E1O-wf-Kab" firstAttribute="top" secondItem="BCa-2B-PxA" secondAttribute="bottom" constant="17" id="SHP-8S-d1T"/>
<constraint firstItem="voE-WH-qy2" firstAttribute="top" secondItem="E1O-wf-Kab" secondAttribute="bottom" constant="8" id="Zad-AA-k4Z"/>
<constraint firstAttribute="trailingMargin" secondItem="C5g-gW-XGY" secondAttribute="trailing" id="3Jn-tn-6Ed"/>
<constraint firstItem="HW3-rr-Akw" firstAttribute="top" relation="greaterThanOrEqual" secondItem="Xg1-YZ-sWL" secondAttribute="bottom" constant="10" id="BlP-I8-SV3"/>
<constraint firstItem="C5g-gW-XGY" firstAttribute="top" relation="greaterThanOrEqual" secondItem="HW3-rr-Akw" secondAttribute="bottom" constant="10" id="IFo-tU-Z4e"/>
<constraint firstItem="2fi-mo-0CV" firstAttribute="top" secondItem="C5g-gW-XGY" secondAttribute="bottom" constant="20" id="Ta7-df-tHk"/>
<constraint firstItem="Xg1-YZ-sWL" firstAttribute="centerX" secondItem="kh9-bI-dsS" secondAttribute="centerX" id="Yrm-XY-gDC"/>
<constraint firstItem="HW3-rr-Akw" firstAttribute="centerY" secondItem="kh9-bI-dsS" secondAttribute="centerY" priority="750" id="c5R-S9-N1n"/>
<constraint firstItem="E1O-wf-Kab" firstAttribute="height" secondItem="voE-WH-qy2" secondAttribute="height" id="i9Y-xv-7zX"/>
<constraint firstItem="HW3-rr-Akw" firstAttribute="centerX" secondItem="kh9-bI-dsS" secondAttribute="centerX" id="lAp-IZ-ygd"/>
<constraint firstItem="voE-WH-qy2" firstAttribute="height" secondItem="MUs-BJ-ux5" secondAttribute="height" id="wVq-Rn-DCM"/>
<constraint firstItem="P6d-eP-pjF" firstAttribute="top" secondItem="Umg-oT-Dv1" secondAttribute="bottom" constant="8" id="xcT-AQ-2QR"/>
<constraint firstItem="C5g-gW-XGY" firstAttribute="leading" secondItem="kh9-bI-dsS" secondAttribute="leadingMargin" id="wMv-Sk-HgB"/>
<constraint firstItem="Xg1-YZ-sWL" firstAttribute="top" secondItem="jyV-Pf-zRb" secondAttribute="bottom" constant="8" id="yyW-2f-WD3"/>
</constraints>
</view>
<navigationItem key="navigationItem" title="Spinner Demo" id="wrV-lz-o3P"/>
<connections>
<outlet property="durationSlider" destination="BCa-2B-PxA" id="zNN-IT-kOe"/>
<outlet property="sliderControl" destination="BCa-2B-PxA" id="bsI-u7-2az"/>
<outlet property="sliderLabel" destination="oZk-x6-Cbo" id="MYj-LJ-HFP"/>
<outlet property="spinnerView" destination="HW3-rr-Akw" id="mkj-d2-eQE"/>
</connections>
</viewController>
@@ -127,5 +178,72 @@
</objects>
<point key="canvasLocation" x="571" y="438"/>
</scene>
<!--Refresh Control Demo-->
<scene sceneID="bCi-Vg-nOI">
<objects>
<tableViewController title="Refresh Control Demo" id="yGj-0q-1O8" customClass="MMTableViewRefreshDemoController" sceneMemberID="viewController">
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" id="r6U-t1-zsb">
<rect key="frame" x="0.0" y="0.0" width="667" height="375"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="DemoCell" textLabel="LDa-4Q-xy6" style="IBUITableViewCellStyleDefault" id="iE3-Vo-weT">
<rect key="frame" x="0.0" y="28" width="667" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="iE3-Vo-weT" id="ofK-in-Xv7">
<rect key="frame" x="0.0" y="0.0" width="667" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Title" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="LDa-4Q-xy6">
<rect key="frame" x="15" y="0.0" width="637" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</tableViewCellContentView>
</tableViewCell>
</prototypes>
<connections>
<outlet property="dataSource" destination="yGj-0q-1O8" id="K73-Ca-CEP"/>
<outlet property="delegate" destination="yGj-0q-1O8" id="MWw-SE-Uu8"/>
</connections>
</tableView>
<refreshControl key="refreshControl" opaque="NO" multipleTouchEnabled="YES" contentMode="center" enabled="NO" contentHorizontalAlignment="center" contentVerticalAlignment="center" id="YhU-Sc-EQ1">
<autoresizingMask key="autoresizingMask"/>
<connections>
<action selector="refresh:" destination="yGj-0q-1O8" eventType="valueChanged" id="qm9-1e-BNj"/>
</connections>
</refreshControl>
<connections>
<outlet property="refreshControlSpinner" destination="UeA-xM-1hl" id="xJP-78-iR4"/>
<outlet property="refreshControlView" destination="sdb-By-mrr" id="J7b-Av-XIg"/>
</connections>
</tableViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="XZv-D0-9pv" userLabel="First Responder" sceneMemberID="firstResponder"/>
<view contentMode="scaleToFill" id="sdb-By-mrr">
<rect key="frame" x="0.0" y="0.0" width="371" height="64"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UeA-xM-1hl" customClass="MMMaterialDesignSpinner">
<rect key="frame" x="161" y="8" width="48" height="48"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="width" secondItem="UeA-xM-1hl" secondAttribute="height" multiplier="1:1" id="H9P-Qm-iki"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="UeA-xM-1hl" firstAttribute="centerX" secondItem="sdb-By-mrr" secondAttribute="centerX" id="KZ0-gV-j5s"/>
<constraint firstItem="UeA-xM-1hl" firstAttribute="top" secondItem="sdb-By-mrr" secondAttribute="top" constant="8" id="TCD-Lq-Dr9"/>
<constraint firstItem="UeA-xM-1hl" firstAttribute="width" secondItem="UeA-xM-1hl" secondAttribute="height" multiplier="1:1" id="c6l-Tu-yp1"/>
<constraint firstAttribute="bottom" secondItem="UeA-xM-1hl" secondAttribute="bottom" constant="8" id="zg7-Ie-CuP"/>
</constraints>
</view>
</objects>
<point key="canvasLocation" x="1415" y="438"/>
</scene>
</scenes>
</document>
@@ -132,8 +132,9 @@
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "Icon-60@3x copy.png",
"scale" : "2x"
}
],
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

@@ -0,0 +1,13 @@
//
// MMTableViewRefreshDemoController.h
// MaterialDesignSpinner
//
// Created by Mike Maxwell on 7/22/17.
// Copyright © 2017 Mike Maxwell. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface MMTableViewRefreshDemoController : UITableViewController
@end
@@ -0,0 +1,68 @@
//
// MMTableViewRefreshDemoController.m
// MaterialDesignSpinner
//
// Created by Mike Maxwell on 7/22/17.
// Copyright © 2017 Mike Maxwell. All rights reserved.
//
#import "MMTableViewRefreshDemoController.h"
#import "UIRefreshControl+MaterialDesignSpinner.h"
#import "MMMaterialDesignSpinner.h"
@interface MMTableViewRefreshDemoController ()
@property (strong, nonatomic) IBOutlet UIView *refreshControlView;
@property (weak, nonatomic) IBOutlet MMMaterialDesignSpinner *refreshControlSpinner;
@end
@implementation MMTableViewRefreshDemoController
- (void)viewDidLoad {
[super viewDidLoad];
self.refreshControlView.frame = self.refreshControl.bounds;
[self.refreshControl addSubview:self.refreshControlView];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 4;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"DemoCell" forIndexPath:indexPath];
// Configure the cell...
cell.textLabel.text = [NSString stringWithFormat:@"Demo Cell #%ld", (long)indexPath.row];
return cell;
}
- (IBAction)refresh:(id)sender {
[self.refreshControlSpinner setAnimating:YES];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(4.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self.refreshControlSpinner setAnimating:NO];
[self.refreshControl endRefreshing];
});
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat yOffset = scrollView.contentOffset.y + scrollView.contentInset.top;
if (yOffset < 0 && !self.refreshControlSpinner.isAnimating) {
float percent = -yOffset / (2.0*self.refreshControl.bounds.size.height);
self.refreshControlSpinner.percentComplete = percent;
}
}
@end
@@ -12,7 +12,10 @@
@interface MMViewController ()
@property (nonatomic, strong) IBOutlet MMMaterialDesignSpinner *spinnerView;
@property (weak, nonatomic) IBOutlet UISlider *durationSlider;
@property (weak, nonatomic) IBOutlet UISlider *sliderControl;
@property (weak, nonatomic) IBOutlet UILabel *sliderLabel;
@property (nonatomic, assign) BOOL animate;
@end
@implementation MMViewController
@@ -34,10 +37,18 @@
if (self.spinnerView.lineWidth == 0) self.spinnerView.lineWidth = 0.1f;
}
- (IBAction)durationSliderValueUpdated:(id)sender {
[self.spinnerView stopAnimating];
self.spinnerView.duration = self.durationSlider.value;
[self.spinnerView startAnimating];
- (IBAction)sliderValueUpdated:(id)sender {
if (self.animate) {
[self.spinnerView stopAnimating];
self.spinnerView.duration = self.sliderControl.value;
[self.spinnerView startAnimating];
}
}
- (IBAction)sliderValueChanged:(id)sender {
if (!self.animate) {
self.spinnerView.percentComplete = [self sliderPercentValue];
}
}
- (IBAction)squareCapButtonPressed:(id)sender {
@@ -52,6 +63,14 @@
self.spinnerView.lineCap = kCALineCapButt;
}
- (IBAction)animateSwitchValueDidChange:(UISwitch *)sender {
self.animate = sender.on;
[self.spinnerView setAnimating:self.animate];
self.sliderLabel.text = (self.animate
? @"Duration"
: @"Percent Complete");
self.spinnerView.percentComplete = [self sliderPercentValue];
}
#pragma mark Helper methods
@@ -62,4 +81,8 @@
return [UIColor colorWithHue:hue saturation:saturation brightness:brightness alpha:1];
}
- (float)sliderPercentValue {
return self.sliderControl.value / self.sliderControl.maximumValue;
}
@end
@@ -9,7 +9,7 @@
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}</string>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
+2 -2
View File
@@ -1,5 +1,5 @@
PODS:
- MMMaterialDesignSpinner (0.2.6)
- MMMaterialDesignSpinner (0.2.4)
DEPENDENCIES:
- MMMaterialDesignSpinner (from `../`)
@@ -9,7 +9,7 @@ EXTERNAL SOURCES:
:path: "../"
SPEC CHECKSUMS:
MMMaterialDesignSpinner: f877769592cc4410c51299a64d6c3934a9fcdab1
MMMaterialDesignSpinner: 66a80c1c7a745e65e1fefeff613a6510ddc1fe54
PODFILE CHECKSUM: c0dd544008166879b3152865a647d9ab7cf11291
@@ -1,6 +1,6 @@
{
"name": "MMMaterialDesignSpinner",
"version": "0.2.6",
"version": "0.2.4",
"summary": "An iOS activity spinner modeled after Google's Material Design spinner",
"description": "I love Google's new indeterminate spinner in the [Material Design guidelines](http://www.google.com/design/spec/components/progress-activity.html#progress-activity-types-of-indicators), and I hadn't found a recreation of it for iOS yet, so I created it using CoreGraphics and CoreAnimation, which makes it super lightweight, smooth, and scalable to large sizes.\n\nSpecial thanks to the following projects and articles that helped me create this:\n* [Google Material Design's Animated Loading Spinner Using HTML, CSS and SVG](http://david.ingledow.co.uk/blog/google-material-designs-animated-loading-spinner-svg-and-css/) for help figuring out exactly what animations were going on.\n* [LLARingSpinnerView](https://github.com/lipka/LLARingSpinnerView) as the base for a custom activity spinner UIView.\n* [center-vfl](https://github.com/evgenyneu/center-vfl) because centering things with Auto Layout's VFL is way harder than it should be to remember.\n* [kylefox / color.m gist](https://gist.github.com/kylefox/1689973) for creating random UIColor values.",
"homepage": "https://github.com/misterwell/MMMaterialDesignSpinner.git",
@@ -15,7 +15,7 @@
},
"source": {
"git": "https://github.com/misterwell/MMMaterialDesignSpinner.git",
"tag": "0.2.6"
"tag": "0.2.4"
},
"source_files": "Pod/Classes",
"frameworks": [
+2 -2
View File
@@ -1,5 +1,5 @@
PODS:
- MMMaterialDesignSpinner (0.2.6)
- MMMaterialDesignSpinner (0.2.4)
DEPENDENCIES:
- MMMaterialDesignSpinner (from `../`)
@@ -9,7 +9,7 @@ EXTERNAL SOURCES:
:path: "../"
SPEC CHECKSUMS:
MMMaterialDesignSpinner: f877769592cc4410c51299a64d6c3934a9fcdab1
MMMaterialDesignSpinner: 66a80c1c7a745e65e1fefeff613a6510ddc1fe54
PODFILE CHECKSUM: c0dd544008166879b3152865a647d9ab7cf11291
+110 -106
View File
@@ -7,19 +7,20 @@
objects = {
/* Begin PBXBuildFile section */
2E0CC1D2749D35601114E793EAF99204 /* ActivityTracking.h in Headers */ = {isa = PBXBuildFile; fileRef = DB10D0F9392E4BFBC3CC4FD7317A451F /* ActivityTracking.h */; settings = {ATTRIBUTES = (Public, ); }; };
3282FA338797F004BE78CF0768EDC90B /* MMMaterialDesignSpinner.h in Headers */ = {isa = PBXBuildFile; fileRef = DDADEB5EC9583723396C1AA7B323FF29 /* MMMaterialDesignSpinner.h */; settings = {ATTRIBUTES = (Public, ); }; };
1ECDBBB9B8127400D9F426A0E7C8702D /* UIRefreshControl+MaterialDesignSpinner.h in Headers */ = {isa = PBXBuildFile; fileRef = 65A224C4A2AC187B65ADBE3121D42CE8 /* UIRefreshControl+MaterialDesignSpinner.h */; settings = {ATTRIBUTES = (Public, ); }; };
2956E8905120D070E39A294245D6D5E9 /* MMMaterialDesignSpinner-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 15CC98D90268C2CC07BB35A85564383D /* MMMaterialDesignSpinner-dummy.m */; };
2E6461465B4C8D6F88F5E7869D109CCB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE59B0D97841C2542CA3D20540685C26 /* Foundation.framework */; };
3B320A7E585B9CAFB5962FE430562B05 /* Pods-MaterialDesignSpinner-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 69767E81EEF74DA03C18B26CFA2A1E83 /* Pods-MaterialDesignSpinner-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
513A06E050B07E1E97124D57418B07F9 /* Pods-Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 24FEEBF29AFE475E32E8B756608C6CCD /* Pods-Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
60C09982352DE750DE8055AAE252CF26 /* MMMaterialDesignSpinner.m in Sources */ = {isa = PBXBuildFile; fileRef = 015BF5F07D0066AF3B8A61EF6C622916 /* MMMaterialDesignSpinner.m */; };
80268522ACDEAE90C66ED7DE37D48F93 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 99C06B1B209CA23EC16EBF65CF890313 /* CoreGraphics.framework */; };
686E9D314642E39E0C736305520FA3C7 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A5224A726D9EABB2D5F18E4597390EF3 /* UIKit.framework */; };
768861C8E4E17559D501B55251427888 /* ActivityTracking.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FB1599D6D3C353926D2842D8788446A /* ActivityTracking.h */; settings = {ATTRIBUTES = (Public, ); }; };
7E3774B3359A93509F11AF8D98A6023D /* MMMaterialDesignSpinner-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F29B7982BD4EF376439F0CD2EA934EE /* MMMaterialDesignSpinner-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
8C66E32E3ED245C81FF881C3C57AAB6F /* MMMaterialDesignSpinner.h in Headers */ = {isa = PBXBuildFile; fileRef = FBAB61C759DA8335D82AA38BA471FEF1 /* MMMaterialDesignSpinner.h */; settings = {ATTRIBUTES = (Public, ); }; };
8E6614AFBFB598814C63A0A8C2478AB2 /* Pods-MaterialDesignSpinner-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4619AC9B6E54337E0B4448B9F6E59D54 /* Pods-MaterialDesignSpinner-dummy.m */; };
91C9710A466A673CFA1C206BE8A86E38 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE59B0D97841C2542CA3D20540685C26 /* Foundation.framework */; };
9383F69ACDD18BC4A0939EB3F07549C9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE59B0D97841C2542CA3D20540685C26 /* Foundation.framework */; };
97727B0FCEB443C2E0EAE78C5E802112 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A5224A726D9EABB2D5F18E4597390EF3 /* UIKit.framework */; };
B818AB5405E962AD3DD4BDE96E71C582 /* MMMaterialDesignSpinner-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 15CC98D90268C2CC07BB35A85564383D /* MMMaterialDesignSpinner-dummy.m */; };
B44E72E4F7713230B41847CB1F4F72F6 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 99C06B1B209CA23EC16EBF65CF890313 /* CoreGraphics.framework */; };
C5A08214438FEF26EBFE251B8158C2C4 /* Pods-Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B5281EDC8F0A8FCD3E8B3E6E197EF6AD /* Pods-Tests-dummy.m */; };
D75BA8983484D2630EF7051808457313 /* MMMaterialDesignSpinner-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F29B7982BD4EF376439F0CD2EA934EE /* MMMaterialDesignSpinner-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
D94055572060E633C1C0899300E91FDB /* MMMaterialDesignSpinner.m in Sources */ = {isa = PBXBuildFile; fileRef = 377768DD144BEA858C22F6F6E5E559A9 /* MMMaterialDesignSpinner.m */; };
E31CF08710C2CC62F000CA1FDECA0716 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE59B0D97841C2542CA3D20540685C26 /* Foundation.framework */; };
/* End PBXBuildFile section */
@@ -28,20 +29,19 @@
isa = PBXContainerItemProxy;
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 9ABA61C745981AA2EEEE2CA252B709C9;
remoteGlobalIDString = D0DCF60C86A59107643416A240FAA906;
remoteInfo = MMMaterialDesignSpinner;
};
C0771FDB8569CD51814B13F5C3D8780A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 9ABA61C745981AA2EEEE2CA252B709C9;
remoteGlobalIDString = D0DCF60C86A59107643416A240FAA906;
remoteInfo = MMMaterialDesignSpinner;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
015BF5F07D0066AF3B8A61EF6C622916 /* MMMaterialDesignSpinner.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MMMaterialDesignSpinner.m; sourceTree = "<group>"; };
03B230D3C26E54307C02F65DA12C38B6 /* MMMaterialDesignSpinner-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MMMaterialDesignSpinner-prefix.pch"; sourceTree = "<group>"; };
0C12935C8A6997AEC39D6325367202BA /* Pods-MaterialDesignSpinner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MaterialDesignSpinner.debug.xcconfig"; sourceTree = "<group>"; };
15CC98D90268C2CC07BB35A85564383D /* MMMaterialDesignSpinner-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MMMaterialDesignSpinner-dummy.m"; sourceTree = "<group>"; };
@@ -51,11 +51,14 @@
33BF9F61F0AD5D1786B667560FB78603 /* Pods-MaterialDesignSpinner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MaterialDesignSpinner.release.xcconfig"; sourceTree = "<group>"; };
3718E831A56717BCC9CCEDDE10B09BC6 /* Pods-Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Tests.release.xcconfig"; sourceTree = "<group>"; };
376CB13A134C0D6E12BF41B776B31C4F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
377768DD144BEA858C22F6F6E5E559A9 /* MMMaterialDesignSpinner.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MMMaterialDesignSpinner.m; sourceTree = "<group>"; };
3CA8FE849D081320B60858908D74259E /* Pods-Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Tests-acknowledgements.plist"; sourceTree = "<group>"; };
3E49D88410D6B85BD2142B70F54EB030 /* Pods-MaterialDesignSpinner-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-MaterialDesignSpinner-acknowledgements.markdown"; sourceTree = "<group>"; };
4619AC9B6E54337E0B4448B9F6E59D54 /* Pods-MaterialDesignSpinner-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-MaterialDesignSpinner-dummy.m"; sourceTree = "<group>"; };
4DFB699024FF2729C020A9A8BA625D83 /* Pods-MaterialDesignSpinner-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-MaterialDesignSpinner-resources.sh"; sourceTree = "<group>"; };
4FB1599D6D3C353926D2842D8788446A /* ActivityTracking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = ActivityTracking.h; sourceTree = "<group>"; };
615BD79D252C18BD861D07CA5F6C57DB /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
65A224C4A2AC187B65ADBE3121D42CE8 /* UIRefreshControl+MaterialDesignSpinner.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIRefreshControl+MaterialDesignSpinner.h"; sourceTree = "<group>"; };
69767E81EEF74DA03C18B26CFA2A1E83 /* Pods-MaterialDesignSpinner-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-MaterialDesignSpinner-umbrella.h"; sourceTree = "<group>"; };
6DAB18C629B8C65593933533C71A7B1E /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
74565DACFA8E98A2363B0715EB43B6A1 /* Pods-Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Tests-resources.sh"; sourceTree = "<group>"; };
@@ -72,11 +75,10 @@
C8AE40D588AADE58E7D083CF5C5C6B64 /* MMMaterialDesignSpinner.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = MMMaterialDesignSpinner.modulemap; sourceTree = "<group>"; };
CE59B0D97841C2542CA3D20540685C26 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
D22A5593A1CE92FAF6469BD6081D1DA5 /* Pods-MaterialDesignSpinner.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-MaterialDesignSpinner.modulemap"; sourceTree = "<group>"; };
DB10D0F9392E4BFBC3CC4FD7317A451F /* ActivityTracking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = ActivityTracking.h; sourceTree = "<group>"; };
DDADEB5EC9583723396C1AA7B323FF29 /* MMMaterialDesignSpinner.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MMMaterialDesignSpinner.h; sourceTree = "<group>"; };
EC4C5F273BD00EBF1121633F12BB4B6E /* MMMaterialDesignSpinner.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MMMaterialDesignSpinner.xcconfig; sourceTree = "<group>"; };
F4BD5ADCA329BE69CA78EA6CFBCDD1CB /* Pods-MaterialDesignSpinner-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-MaterialDesignSpinner-frameworks.sh"; sourceTree = "<group>"; };
F5C0746CA9E7DFD4AE0A93663468579F /* Pods-Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Tests.debug.xcconfig"; sourceTree = "<group>"; };
FBAB61C759DA8335D82AA38BA471FEF1 /* MMMaterialDesignSpinner.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MMMaterialDesignSpinner.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -88,6 +90,16 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
70B4D871988CFBB27A5C75024080BED0 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
B44E72E4F7713230B41847CB1F4F72F6 /* CoreGraphics.framework in Frameworks */,
2E6461465B4C8D6F88F5E7869D109CCB /* Foundation.framework in Frameworks */,
686E9D314642E39E0C736305520FA3C7 /* UIKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
9E54D956C0247CBAAB4A2AE7C1A38064 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@@ -96,16 +108,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
A01F8BCB9B336071E5948A5207926FD8 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
80268522ACDEAE90C66ED7DE37D48F93 /* CoreGraphics.framework in Frameworks */,
9383F69ACDD18BC4A0939EB3F07549C9 /* Foundation.framework in Frameworks */,
97727B0FCEB443C2E0EAE78C5E802112 /* UIKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
@@ -117,12 +119,13 @@
name = Frameworks;
sourceTree = "<group>";
};
1BB52FE9515DF2E3CE66DEE10D34A515 /* Classes */ = {
16DD66EB9878D38899D6980C67DD82D1 /* Classes */ = {
isa = PBXGroup;
children = (
DB10D0F9392E4BFBC3CC4FD7317A451F /* ActivityTracking.h */,
DDADEB5EC9583723396C1AA7B323FF29 /* MMMaterialDesignSpinner.h */,
015BF5F07D0066AF3B8A61EF6C622916 /* MMMaterialDesignSpinner.m */,
4FB1599D6D3C353926D2842D8788446A /* ActivityTracking.h */,
FBAB61C759DA8335D82AA38BA471FEF1 /* MMMaterialDesignSpinner.h */,
377768DD144BEA858C22F6F6E5E559A9 /* MMMaterialDesignSpinner.m */,
65A224C4A2AC187B65ADBE3121D42CE8 /* UIRefreshControl+MaterialDesignSpinner.h */,
);
name = Classes;
path = Classes;
@@ -156,15 +159,6 @@
path = "Target Support Files/Pods-Tests";
sourceTree = "<group>";
};
49B9B06782B66F636D870F8F9D11EBC0 /* Pod */ = {
isa = PBXGroup;
children = (
1BB52FE9515DF2E3CE66DEE10D34A515 /* Classes */,
);
name = Pod;
path = Pod;
sourceTree = "<group>";
};
5C1565B771D8646D274C9F1A31BBF7E6 /* Support Files */ = {
isa = PBXGroup;
children = (
@@ -179,6 +173,15 @@
path = "Example/Pods/Target Support Files/MMMaterialDesignSpinner";
sourceTree = "<group>";
};
74C7370CDBFCCBD829EBC18A672A7D46 /* Pod */ = {
isa = PBXGroup;
children = (
16DD66EB9878D38899D6980C67DD82D1 /* Classes */,
);
name = Pod;
path = Pod;
sourceTree = "<group>";
};
7DB346D0F39D3F0E887471402A8071AB = {
isa = PBXGroup;
children = (
@@ -238,7 +241,7 @@
EEDD6E3CE728A6D507AA4A806FA84217 /* MMMaterialDesignSpinner */ = {
isa = PBXGroup;
children = (
49B9B06782B66F636D870F8F9D11EBC0 /* Pod */,
74C7370CDBFCCBD829EBC18A672A7D46 /* Pod */,
5C1565B771D8646D274C9F1A31BBF7E6 /* Support Files */,
);
name = MMMaterialDesignSpinner;
@@ -256,6 +259,17 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
8F7E4C1B5F0CDA67C401AFAFE58FBABC /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
768861C8E4E17559D501B55251427888 /* ActivityTracking.h in Headers */,
7E3774B3359A93509F11AF8D98A6023D /* MMMaterialDesignSpinner-umbrella.h in Headers */,
8C66E32E3ED245C81FF881C3C57AAB6F /* MMMaterialDesignSpinner.h in Headers */,
1ECDBBB9B8127400D9F426A0E7C8702D /* UIRefreshControl+MaterialDesignSpinner.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
A5658EEFCF3087AECC95FAF6B00097DB /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
@@ -264,16 +278,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
C2DE1D443CF2D899C71FF802D8219CF5 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
2E0CC1D2749D35601114E793EAF99204 /* ActivityTracking.h in Headers */,
D75BA8983484D2630EF7051808457313 /* MMMaterialDesignSpinner-umbrella.h in Headers */,
3282FA338797F004BE78CF0768EDC90B /* MMMaterialDesignSpinner.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
@@ -295,13 +299,13 @@
productReference = 9F4322F7FF26855F14049E27E1ED6313 /* Pods_MaterialDesignSpinner.framework */;
productType = "com.apple.product-type.framework";
};
9ABA61C745981AA2EEEE2CA252B709C9 /* MMMaterialDesignSpinner */ = {
D0DCF60C86A59107643416A240FAA906 /* MMMaterialDesignSpinner */ = {
isa = PBXNativeTarget;
buildConfigurationList = 14EA822B282E0B284758432075781E6C /* Build configuration list for PBXNativeTarget "MMMaterialDesignSpinner" */;
buildConfigurationList = 4CF678652143C6769F9BC51007756198 /* Build configuration list for PBXNativeTarget "MMMaterialDesignSpinner" */;
buildPhases = (
2207EC9B2421BE55997CADAF5B90DDC4 /* Sources */,
A01F8BCB9B336071E5948A5207926FD8 /* Frameworks */,
C2DE1D443CF2D899C71FF802D8219CF5 /* Headers */,
7D5C2E3A4AF6395685053723FB9CA9D3 /* Sources */,
70B4D871988CFBB27A5C75024080BED0 /* Frameworks */,
8F7E4C1B5F0CDA67C401AFAFE58FBABC /* Headers */,
);
buildRules = (
);
@@ -351,7 +355,7 @@
projectDirPath = "";
projectRoot = "";
targets = (
9ABA61C745981AA2EEEE2CA252B709C9 /* MMMaterialDesignSpinner */,
D0DCF60C86A59107643416A240FAA906 /* MMMaterialDesignSpinner */,
8D3A7407C4F4C6169264835024F090F7 /* Pods-MaterialDesignSpinner */,
E31CCE1A7B78DB4FDC6A294699715D8D /* Pods-Tests */,
);
@@ -367,15 +371,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
2207EC9B2421BE55997CADAF5B90DDC4 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
B818AB5405E962AD3DD4BDE96E71C582 /* MMMaterialDesignSpinner-dummy.m in Sources */,
60C09982352DE750DE8055AAE252CF26 /* MMMaterialDesignSpinner.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
590C3CEAD40240E78DAFCD9FBF62710A /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@@ -384,19 +379,28 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
7D5C2E3A4AF6395685053723FB9CA9D3 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2956E8905120D070E39A294245D6D5E9 /* MMMaterialDesignSpinner-dummy.m in Sources */,
D94055572060E633C1C0899300E91FDB /* MMMaterialDesignSpinner.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
BED89BC6F13B68168FB71FD6830CDC2E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = MMMaterialDesignSpinner;
target = 9ABA61C745981AA2EEEE2CA252B709C9 /* MMMaterialDesignSpinner */;
target = D0DCF60C86A59107643416A240FAA906 /* MMMaterialDesignSpinner */;
targetProxy = 982A30AAE8C51662BB774A80E6BF2DF5 /* PBXContainerItemProxy */;
};
F5AB9FDAF2B6EF3E859800517DE369C1 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = MMMaterialDesignSpinner;
target = 9ABA61C745981AA2EEEE2CA252B709C9 /* MMMaterialDesignSpinner */;
target = D0DCF60C86A59107643416A240FAA906 /* MMMaterialDesignSpinner */;
targetProxy = C0771FDB8569CD51814B13F5C3D8780A /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
@@ -446,39 +450,7 @@
};
name = Release;
};
36C93DC0A1F0E45783988F5F4838D06E /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = EC4C5F273BD00EBF1121633F12BB4B6E /* MMMaterialDesignSpinner.xcconfig */;
buildSettings = {
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREFIX_HEADER = "Target Support Files/MMMaterialDesignSpinner/MMMaterialDesignSpinner-prefix.pch";
INFOPLIST_FILE = "Target Support Files/MMMaterialDesignSpinner/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULEMAP_FILE = "Target Support Files/MMMaterialDesignSpinner/MMMaterialDesignSpinner.modulemap";
MTL_ENABLE_DEBUG_INFO = YES;
PRODUCT_NAME = MMMaterialDesignSpinner;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
B3C1874FEC2FE432340F3E710E2D6768 /* Release */ = {
7A6782EEC0B5765ABFC79B4DBA66CE4A /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = EC4C5F273BD00EBF1121633F12BB4B6E /* MMMaterialDesignSpinner.xcconfig */;
buildSettings = {
@@ -510,6 +482,38 @@
};
name = Release;
};
B95ADAFF1D9C90E51FEDC2C51ACACB6D /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = EC4C5F273BD00EBF1121633F12BB4B6E /* MMMaterialDesignSpinner.xcconfig */;
buildSettings = {
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREFIX_HEADER = "Target Support Files/MMMaterialDesignSpinner/MMMaterialDesignSpinner-prefix.pch";
INFOPLIST_FILE = "Target Support Files/MMMaterialDesignSpinner/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULEMAP_FILE = "Target Support Files/MMMaterialDesignSpinner/MMMaterialDesignSpinner.modulemap";
MTL_ENABLE_DEBUG_INFO = YES;
PRODUCT_NAME = MMMaterialDesignSpinner;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
C104F7F091290C3D1E248192F07FE689 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -705,15 +709,6 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
14EA822B282E0B284758432075781E6C /* Build configuration list for PBXNativeTarget "MMMaterialDesignSpinner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
36C93DC0A1F0E45783988F5F4838D06E /* Debug */,
B3C1874FEC2FE432340F3E710E2D6768 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = {
isa = XCConfigurationList;
buildConfigurations = (
@@ -741,6 +736,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
4CF678652143C6769F9BC51007756198 /* Build configuration list for PBXNativeTarget "MMMaterialDesignSpinner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
B95ADAFF1D9C90E51FEDC2C51ACACB6D /* Debug */,
7A6782EEC0B5765ABFC79B4DBA66CE4A /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>0.2.6</string>
<string>0.2.4</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
@@ -12,6 +12,7 @@
#import "ActivityTracking.h"
#import "MMMaterialDesignSpinner.h"
#import "UIRefreshControl+MaterialDesignSpinner.h"
FOUNDATION_EXPORT double MMMaterialDesignSpinnerVersionNumber;
FOUNDATION_EXPORT const unsigned char MMMaterialDesignSpinnerVersionString[];
+1 -1
View File
@@ -7,7 +7,7 @@
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}</string>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
+3
View File
@@ -41,6 +41,9 @@
/** Property indicating the duration of the animation, default is 1.5s. Should be set prior to -[startAnimating] */
@property (nonatomic, readwrite) NSTimeInterval duration;
/** Property to manually set the percent complete of the spinner, in case you don't want to start at 0. Valid values are 0.0 to 1.0 */
@property (nonatomic) CGFloat percentComplete;
/**
* Convenience function for starting & stopping animation with a boolean variable instead of explicit
* method calls.
+13 -2
View File
@@ -24,6 +24,7 @@ static NSString *kMMRingRotationAnimationKey = @"mmmaterialdesignspinner.rotatio
@synthesize color=_color;
@synthesize timingFunction=_timingFunction;
@synthesize duration=_duration;
@synthesize percentComplete=_percentComplete;
- (instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
@@ -47,6 +48,7 @@ static NSString *kMMRingRotationAnimationKey = @"mmmaterialdesignspinner.rotatio
- (void)initialize {
self.duration = 1.5f;
self.percentComplete = 0.f;
_timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
[self.layer addSublayer:self.progressLayer];
@@ -175,9 +177,9 @@ static NSString *kMMRingRotationAnimationKey = @"mmmaterialdesignspinner.rotatio
CGFloat endAngle = (CGFloat)(2*M_PI);
UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:center radius:radius startAngle:startAngle endAngle:endAngle clockwise:YES];
self.progressLayer.path = path.CGPath;
self.progressLayer.strokeStart = 0.f;
self.progressLayer.strokeEnd = 0.f;
self.progressLayer.strokeEnd = self.percentComplete;
}
#pragma mark - Properties
@@ -221,4 +223,13 @@ static NSString *kMMRingRotationAnimationKey = @"mmmaterialdesignspinner.rotatio
self.hidden = !self.isAnimating && hidesWhenStopped;
}
- (void)setPercentComplete:(CGFloat)percentComplete {
_percentComplete = percentComplete;
if (_isAnimating) {
return;
}
self.progressLayer.strokeStart = 0.f;
self.progressLayer.strokeEnd = self.percentComplete;
}
@end
@@ -0,0 +1,15 @@
//
// UIRefreshControl_MaterialDesignSpinner.h
// Pods
//
// Created by Mike Maxwell on 7/22/17.
//
//
#import <UIKit/UIKit.h>
@interface UIRefreshControl (MaterialDesignSpinner)
+ (UIRefreshControl *)initWithMaterialDesignSpinner;
@end