Release candidate

In this release we fixed the height calculation of the spritesheet.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 36a561a..bd53caf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 3.1.0
+
+In this release we fixed the height calculation of the spritesheet.
+
 ## 3.0.0
 
 ##### Breaking
diff --git a/MDFSpritedAnimationView.podspec b/MDFSpritedAnimationView.podspec
index 93f4a51..4dda7ce 100644
--- a/MDFSpritedAnimationView.podspec
+++ b/MDFSpritedAnimationView.podspec
@@ -1,7 +1,7 @@
 Pod::Spec.new do |s|
   s.name         = "MDFSpritedAnimationView"
-  s.version      = "3.0.0"
-  s.authors      = { 'Chris Cox' => 'cjcox@google.com' }
+  s.version      = "3.1.0"
+  s.authors      = { 'Randall Li' => 'randallli@google.com', 'Chris Cox' => 'cjcox@google.com' }
   s.summary      = "A control providing an alternative to animating an array of images with an UIImageView."
   s.homepage     = "https://github.com/material-foundation/MDFSpritedAnimationView"
   s.license      = 'Apache 2.0'
diff --git a/examples/app/MDFSpritedAnimationViewExample.xcodeproj/project.pbxproj b/examples/app/MDFSpritedAnimationViewExample.xcodeproj/project.pbxproj
index 898f156..c70148f 100644
--- a/examples/app/MDFSpritedAnimationViewExample.xcodeproj/project.pbxproj
+++ b/examples/app/MDFSpritedAnimationViewExample.xcodeproj/project.pbxproj
@@ -157,8 +157,6 @@
 				20923B0E1DF741CD00DA6196 /* Sources */,
 				20923B0F1DF741CD00DA6196 /* Frameworks */,
 				20923B101DF741CD00DA6196 /* Resources */,
-				6FB729D11BCBA37F8593E55E /* [CP] Embed Pods Frameworks */,
-				DC8CEE9167784F66606E135D /* [CP] Copy Pods Resources */,
 			);
 			buildRules = (
 			);
@@ -177,8 +175,6 @@
 				20923B271DF741CD00DA6196 /* Sources */,
 				20923B281DF741CD00DA6196 /* Frameworks */,
 				20923B291DF741CD00DA6196 /* Resources */,
-				1F52C79EE39D3D1C52475749 /* [CP] Embed Pods Frameworks */,
-				3B5CD1301FCCB4A79C67081A /* [CP] Copy Pods Resources */,
 			);
 			buildRules = (
 			);
@@ -251,79 +247,22 @@
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXShellScriptBuildPhase section */
-		1F52C79EE39D3D1C52475749 /* [CP] Embed Pods Frameworks */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "[CP] Embed Pods Frameworks";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests/Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests-frameworks.sh\"\n";
-			showEnvVarsInLog = 0;
-		};
-		3B5CD1301FCCB4A79C67081A /* [CP] Copy Pods Resources */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "[CP] Copy Pods Resources";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests/Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests-resources.sh\"\n";
-			showEnvVarsInLog = 0;
-		};
 		3C630E0C8C995664CD618762 /* [CP] Check Pods Manifest.lock */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputPaths = (
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+				"${PODS_ROOT}/Manifest.lock",
 			);
 			name = "[CP] Check Pods Manifest.lock";
 			outputPaths = (
+				"$(DERIVED_FILE_DIR)/Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests-checkManifestLockResult.txt",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n";
-			showEnvVarsInLog = 0;
-		};
-		6FB729D11BCBA37F8593E55E /* [CP] Embed Pods Frameworks */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "[CP] Embed Pods Frameworks";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-MDFSpritedAnimationViewExample/Pods-MDFSpritedAnimationViewExample-frameworks.sh\"\n";
-			showEnvVarsInLog = 0;
-		};
-		DC8CEE9167784F66606E135D /* [CP] Copy Pods Resources */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "[CP] Copy Pods Resources";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-MDFSpritedAnimationViewExample/Pods-MDFSpritedAnimationViewExample-resources.sh\"\n";
+			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
 			showEnvVarsInLog = 0;
 		};
 		E1FB583A8E7B04F657DD8EAB /* [CP] Check Pods Manifest.lock */ = {
@@ -332,13 +271,16 @@
 			files = (
 			);
 			inputPaths = (
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+				"${PODS_ROOT}/Manifest.lock",
 			);
 			name = "[CP] Check Pods Manifest.lock";
 			outputPaths = (
+				"$(DERIVED_FILE_DIR)/Pods-MDFSpritedAnimationViewExample-checkManifestLockResult.txt",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n";
+			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
 			showEnvVarsInLog = 0;
 		};
 /* End PBXShellScriptBuildPhase section */
diff --git a/examples/app/MDFSpritedAnimationViewExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/examples/app/MDFSpritedAnimationViewExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/examples/app/MDFSpritedAnimationViewExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IDEDidComputeMac32BitWarning</key>
+	<true/>
+</dict>
+</plist>
diff --git a/examples/app/Podfile.lock b/examples/app/Podfile.lock
index 4871557..3c65a2b 100644
--- a/examples/app/Podfile.lock
+++ b/examples/app/Podfile.lock
@@ -9,8 +9,8 @@
     :path: "../../"
 
 SPEC CHECKSUMS:
-  MDFSpritedAnimationView: ab2d4aa5dbb5d05ae1b7e9d2b67b3697c0e0e6ec
+  MDFSpritedAnimationView: 5a795ea4dd7a81658a852db59c9f4062ed1b20c1
 
 PODFILE CHECKSUM: 80195f268febc54d39de014ff5b21653bbb11547
 
-COCOAPODS: 1.1.1
+COCOAPODS: 1.5.0
diff --git a/src/MDFSpritedAnimationView.m b/src/MDFSpritedAnimationView.m
index 42f5414..f59c634 100644
--- a/src/MDFSpritedAnimationView.m
+++ b/src/MDFSpritedAnimationView.m
@@ -80,7 +80,8 @@
 - (CGSize)intrinsicContentSize {
   if (_spriteSheetImage) {
     CGFloat width = _spriteSheetImage.size.width;
-    return CGSizeMake(width, width);
+    CGFloat height = _numberOfFrames > 0 ? (_spriteSheetImage.size.height / _numberOfFrames) : width;
+    return CGSizeMake(width, height);
   }
   return [super intrinsicContentSize];
 }