From 0973b205fcc9407cf417b6c7d34c3fb1b9963c06 Mon Sep 17 00:00:00 2001 From: Reda Lemeden Date: Sun, 30 Jul 2017 19:43:12 +0200 Subject: [PATCH] Bump to v2.0.1 --- Demo/Demo.xcodeproj/project.pbxproj | 8 ++++- Gifu.podspec | 2 +- Supporting Files/Info.plist | 4 +-- docs/Classes.html | 2 +- docs/Classes/Animator.html | 4 +-- docs/Classes/GIFImageView.html | 3 +- docs/Protocols.html | 2 +- docs/Protocols/GIFAnimatable.html | 12 +------- docs/Protocols/ImageContainer.html | 2 +- docs/badge.svg | 1 + docs/css/jazzy.css | 5 ++++ .../Contents/Resources/Documents/Classes.html | 2 +- .../Resources/Documents/Classes/Animator.html | 4 +-- .../Documents/Classes/GIFImageView.html | 3 +- .../Resources/Documents/Protocols.html | 2 +- .../Documents/Protocols/GIFAnimatable.html | 12 +------- .../Documents/Protocols/ImageContainer.html | 2 +- .../Resources/Documents/css/jazzy.css | 5 ++++ .../Contents/Resources/Documents/index.html | 28 +++++++++--------- .../Contents/Resources/Documents/js/jazzy.js | 6 ++++ .../Contents/Resources/Documents/search.json | 1 + .../Resources/Documents/undocumented.json | 6 ---- .../Contents/Resources/docSet.dsidx | Bin 12288 -> 12288 bytes docs/docsets/Gifu.tgz | Bin 51585 -> 52435 bytes docs/index.html | 28 +++++++++--------- docs/js/jazzy.js | 6 ++++ docs/search.json | 1 + 27 files changed, 75 insertions(+), 76 deletions(-) create mode 100644 docs/badge.svg create mode 100644 docs/docsets/Gifu.docset/Contents/Resources/Documents/search.json delete mode 100644 docs/docsets/Gifu.docset/Contents/Resources/Documents/undocumented.json create mode 100644 docs/search.json diff --git a/Demo/Demo.xcodeproj/project.pbxproj b/Demo/Demo.xcodeproj/project.pbxproj index b49d815..71b8009 100755 --- a/Demo/Demo.xcodeproj/project.pbxproj +++ b/Demo/Demo.xcodeproj/project.pbxproj @@ -128,7 +128,7 @@ 9D98823619BC69CA00B790C6 = { CreatedOnToolsVersion = 6.0; LastSwiftMigration = 0800; - ProvisioningStyle = Manual; + ProvisioningStyle = Automatic; }; }; }; @@ -267,12 +267,15 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + DEVELOPMENT_TEAM = ""; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = "Source/Supporting Files/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = co.kaishin.gifu.demo; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = 1; }; @@ -282,12 +285,15 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + DEVELOPMENT_TEAM = ""; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = "Source/Supporting Files/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = co.kaishin.gifu.demo; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = 1; diff --git a/Gifu.podspec b/Gifu.podspec index 58dc0a9..b58e6ff 100644 --- a/Gifu.podspec +++ b/Gifu.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "Gifu" - s.version = "2.0.0" + s.version = "2.0.1" s.summary = "High-performance animated GIF support for iOS " s.homepage = "https://github.com/kaishin/Gifu" s.social_media_url = "http://twitter.com/kaishin" diff --git a/Supporting Files/Info.plist b/Supporting Files/Info.plist index db16e4b..b08deca 100644 --- a/Supporting Files/Info.plist +++ b/Supporting Files/Info.plist @@ -15,11 +15,11 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.0.0 + 2.0.1 CFBundleSignature ???? CFBundleVersion - 126 + 128 NSPrincipalClass diff --git a/docs/Classes.html b/docs/Classes.html index 1206469..9dd74ab 100644 --- a/docs/Classes.html +++ b/docs/Classes.html @@ -128,7 +128,7 @@

Declaration

diff --git a/docs/Classes/Animator.html b/docs/Classes/Animator.html index 3732587..8b2767b 100644 --- a/docs/Classes/Animator.html +++ b/docs/Classes/Animator.html @@ -106,7 +106,6 @@

Parameters

A view object that implements the GIFAnimatable protocol.

-
@@ -116,7 +115,6 @@

Parameters

Return Value

A new animator instance.

-
@@ -127,7 +125,7 @@

Return Value

diff --git a/docs/Classes/GIFImageView.html b/docs/Classes/GIFImageView.html index 35aca70..0c5f275 100644 --- a/docs/Classes/GIFImageView.html +++ b/docs/Classes/GIFImageView.html @@ -133,7 +133,6 @@

Parameters

The delegated layer.

-
@@ -149,7 +148,7 @@

Parameters

diff --git a/docs/Protocols.html b/docs/Protocols.html index 418373b..6fe32c0 100644 --- a/docs/Protocols.html +++ b/docs/Protocols.html @@ -124,7 +124,7 @@

Declaration

diff --git a/docs/Protocols/GIFAnimatable.html b/docs/Protocols/GIFAnimatable.html index 29cda6e..2b77a5e 100644 --- a/docs/Protocols/GIFAnimatable.html +++ b/docs/Protocols/GIFAnimatable.html @@ -375,7 +375,6 @@

Parameters

The file name of the GIF in the main bundle.

-
@@ -388,7 +387,6 @@

Parameters

Desired number of loops, <= 0 for infinite loop.

-
@@ -438,7 +436,6 @@

Parameters

GIF image data.

-
@@ -451,7 +448,6 @@

Parameters

Desired number of loops, <= 0 for infinite loop.

-
@@ -501,7 +497,6 @@

Parameters

The file name of the GIF in the main bundle.

-
@@ -514,7 +509,6 @@

Parameters

Desired number of loops, <= 0 for infinite loop.

-
@@ -564,7 +558,6 @@

Parameters

GIF image data.

-
@@ -577,7 +570,6 @@

Parameters

Desired number of loops, <= 0 for infinite loop.

-
@@ -717,7 +709,6 @@

Parameters

Boolean value indicating whether individual frames should be resized.

-
@@ -767,7 +758,6 @@

Parameters

The number of frames to buffer.

-
@@ -813,7 +803,7 @@

Declaration

diff --git a/docs/Protocols/ImageContainer.html b/docs/Protocols/ImageContainer.html index d61d2ea..c9aca51 100644 --- a/docs/Protocols/ImageContainer.html +++ b/docs/Protocols/ImageContainer.html @@ -102,7 +102,7 @@

Declaration

diff --git a/docs/badge.svg b/docs/badge.svg new file mode 100644 index 0000000..2606d80 --- /dev/null +++ b/docs/badge.svg @@ -0,0 +1 @@ +documentationdocumentation100%100% \ No newline at end of file diff --git a/docs/css/jazzy.css b/docs/css/jazzy.css index d6d65b7..d628282 100644 --- a/docs/css/jazzy.css +++ b/docs/css/jazzy.css @@ -164,6 +164,11 @@ header { padding-top: 10px; } .main-content section .task-group-section .task-group:first-of-type .section-name { padding-top: 15px; } + .main-content section .heading:before { + content: ""; + display: block; + padding-top: 70px; + margin: -70px 0 0; } .section { padding: 0 25px; } diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes.html b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes.html index 1206469..9dd74ab 100644 --- a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes.html +++ b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes.html @@ -128,7 +128,7 @@

Declaration

diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes/Animator.html b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes/Animator.html index 3732587..8b2767b 100644 --- a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes/Animator.html +++ b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes/Animator.html @@ -106,7 +106,6 @@

Parameters

A view object that implements the GIFAnimatable protocol.

-
@@ -116,7 +115,6 @@

Parameters

Return Value

A new animator instance.

-
@@ -127,7 +125,7 @@

Return Value

diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes/GIFImageView.html b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes/GIFImageView.html index 35aca70..0c5f275 100644 --- a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes/GIFImageView.html +++ b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes/GIFImageView.html @@ -133,7 +133,6 @@

Parameters

The delegated layer.

-
@@ -149,7 +148,7 @@

Parameters

diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols.html b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols.html index 418373b..6fe32c0 100644 --- a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols.html +++ b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols.html @@ -124,7 +124,7 @@

Declaration

diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols/GIFAnimatable.html b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols/GIFAnimatable.html index 29cda6e..2b77a5e 100644 --- a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols/GIFAnimatable.html +++ b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols/GIFAnimatable.html @@ -375,7 +375,6 @@

Parameters

The file name of the GIF in the main bundle.

-
@@ -388,7 +387,6 @@

Parameters

Desired number of loops, <= 0 for infinite loop.

-
@@ -438,7 +436,6 @@

Parameters

GIF image data.

-
@@ -451,7 +448,6 @@

Parameters

Desired number of loops, <= 0 for infinite loop.

-
@@ -501,7 +497,6 @@

Parameters

The file name of the GIF in the main bundle.

-
@@ -514,7 +509,6 @@

Parameters

Desired number of loops, <= 0 for infinite loop.

-
@@ -564,7 +558,6 @@

Parameters

GIF image data.

-
@@ -577,7 +570,6 @@

Parameters

Desired number of loops, <= 0 for infinite loop.

-
@@ -717,7 +709,6 @@

Parameters

Boolean value indicating whether individual frames should be resized.

-
@@ -767,7 +758,6 @@

Parameters

The number of frames to buffer.

-
@@ -813,7 +803,7 @@

Declaration

diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols/ImageContainer.html b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols/ImageContainer.html index d61d2ea..c9aca51 100644 --- a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols/ImageContainer.html +++ b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols/ImageContainer.html @@ -102,7 +102,7 @@

Declaration

diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/css/jazzy.css b/docs/docsets/Gifu.docset/Contents/Resources/Documents/css/jazzy.css index d6d65b7..d628282 100644 --- a/docs/docsets/Gifu.docset/Contents/Resources/Documents/css/jazzy.css +++ b/docs/docsets/Gifu.docset/Contents/Resources/Documents/css/jazzy.css @@ -164,6 +164,11 @@ header { padding-top: 10px; } .main-content section .task-group-section .task-group:first-of-type .section-name { padding-top: 15px; } + .main-content section .heading:before { + content: ""; + display: block; + padding-top: 70px; + margin: -70px 0 0; } .section { padding: 0 25px; } diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/index.html b/docs/docsets/Gifu.docset/Contents/Resources/Documents/index.html index 43590aa..00eb8c9 100644 --- a/docs/docsets/Gifu.docset/Contents/Resources/Documents/index.html +++ b/docs/docsets/Gifu.docset/Contents/Resources/Documents/index.html @@ -56,15 +56,15 @@
-

Logo

+

Logo

-

GitHub release Bitrise Carthage compatible Join the chat at https://gitter.im/kaishin/gifu Swift 3.0.x platforms

+

GitHub release Bitrise Carthage compatible Join the chat at https://gitter.im/kaishin/gifu Swift 3.0.x platforms

Gifu adds protocol-based, performance-aware animated GIF support to UIKit. (It’s also a prefecture in Japan).

Swift 2.3 support is on the swift2.3 branch which will not be getting any future updates.

-

Install

-

Carthage

+

Install

+

Carthage

  • Add the following to your Cartfile: github "kaishin/Gifu"
  • @@ -72,14 +72,14 @@
  • Follow the current instructions in Carthage’s README for up to date installation instructions.
-

CocoaPods

+

CocoaPods

  • Add the following to your Podfile: pod 'Gifu'
  • You will also need to make sure you’re opting into using frameworks: use_frameworks!
  • Then run pod install with CocoaPods 0.36 or newer.
-

How It Works

+

How It Works

Gifu does not require using the built-in GIFImageView subclass. The Animator class does the heavy-lifting, while the GIFAnimatable protocol exposes the functionality to the view classes that conform to it, using protocol extensions.

@@ -89,7 +89,7 @@ containing 10 frames, Gifu will load the current frame (red), buffer the next two frames in this example (orange), and empty up all the other frames to free up memory (gray):

-

Usage

+

Usage

There are two options that should cover any situation:

@@ -97,7 +97,7 @@
  • Use the built-in GIFImageView subclass if you don’t need to combine GIF support with another image library.
  • If you need more flexibility and composability, make your class conform to GIFAnimatable. In practice, any UIView subclass would do, since you get most of the required properties for free. For best results, make your UIImageView subclass conform to GIFAnimatable to get access to other features such as intrinsic content size.
  • -

    GIFAnimatable

    +

    GIFAnimatable

    The bread and butter of Gifu. Through protocol extensions, GIFAnimatable exposes all the APIs of the library, and with very little boilerplate, any class can conform to it.

    class MyImageView: UIImageView, GIFAnimatable {
    @@ -164,7 +164,7 @@
       }
     }
     
    -

    Examples

    +

    Examples

    The simplest way to get started is initializing a GIFAnimatable class in code or in a storyboard, then calling animate(:) on it.

    let imageView = GIFImageView(frame: CGRect(x: 0, y: 0, width: 200, height: 100))
    @@ -194,20 +194,20 @@
       imageView.prepareForReuse()
     }
     
    -

    Demo App

    +

    Demo App

    Clone or download the repository and open Gifu.xcworkspace to check out the demo app.

    -

    Documentation

    +

    Documentation

    See the full API documentation.

    -

    Compatibility

    +

    Compatibility

    • iOS 9.0+
    • Swift 3.0
    • Xcode 8.0
    -

    License

    +

    License

    See LICENSE.

    @@ -215,7 +215,7 @@
    diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/js/jazzy.js b/docs/docsets/Gifu.docset/Contents/Resources/Documents/js/jazzy.js index 4ff9455..3965b5f 100755 --- a/docs/docsets/Gifu.docset/Contents/Resources/Documents/js/jazzy.js +++ b/docs/docsets/Gifu.docset/Contents/Resources/Documents/js/jazzy.js @@ -38,3 +38,9 @@ $(".token").click(function(event) { } event.preventDefault(); }); + +// Dumb down quotes within code blocks that delimit strings instead of quotations +// https://github.com/realm/jazzy/issues/714 +$("code q").replaceWith(function () { + return ["\"", $(this).contents(), "\""]; +}); diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/search.json b/docs/docsets/Gifu.docset/Contents/Resources/Documents/search.json new file mode 100644 index 0000000..1814023 --- /dev/null +++ b/docs/docsets/Gifu.docset/Contents/Resources/Documents/search.json @@ -0,0 +1 @@ +{"Protocols/ImageContainer.html#/s:vP4Gifu14ImageContainer5imageGSqCSo7UIImage_":{"name":"image","abstract":"

    Used for displaying the animation frames.

    ","parent_name":"ImageContainer"},"Protocols/GIFAnimatable.html#/s:vP4Gifu13GIFAnimatable8animatorGSqCS_8Animator_":{"name":"animator","abstract":"

    Responsible for managing the animation frames.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:vP4Gifu13GIFAnimatable5layerCSo7CALayer":{"name":"layer","abstract":"

    Notifies the instance that it needs display.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:vP4Gifu13GIFAnimatable5frameVSC6CGRect":{"name":"frame","abstract":"

    View frame used for resizing the frames.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:vP4Gifu13GIFAnimatable11contentModeOSC17UIViewContentMode":{"name":"contentMode","abstract":"

    Content mode used for resizing the frames.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:ve4GifuRxS_13GIFAnimatablexS_14ImageContainerrS0_20intrinsicContentSizeVSC6CGSize":{"name":"intrinsicContentSize","abstract":"

    Returns the intrinsic content size based on the size of the image.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:vE4GifuPS_13GIFAnimatable15gifLoopDurationSd":{"name":"gifLoopDuration","abstract":"

    Total duration of one animation loop

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:vE4GifuPS_13GIFAnimatable11activeFrameGSqCSo7UIImage_":{"name":"activeFrame","abstract":"

    Returns the active frame if available.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:vE4GifuPS_13GIFAnimatable10frameCountSi":{"name":"frameCount","abstract":"

    Total frame count of the GIF.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:vE4GifuPS_13GIFAnimatable14isAnimatingGIFSb":{"name":"isAnimatingGIF","abstract":"

    Introspect whether the instance is animating.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable7animateFT12withGIFNamedSS9loopCountSi_T_":{"name":"animate(withGIFNamed:loopCount:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable7animateFT11withGIFDataV10Foundation4Data9loopCountSi_T_":{"name":"animate(withGIFData:loopCount:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable19prepareForAnimationFT12withGIFNamedSS9loopCountSi17completionHandlerGSqFT_T___T_":{"name":"prepareForAnimation(withGIFNamed:loopCount:completionHandler:)","abstract":"

    Prepares the animator instance for animation.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable19prepareForAnimationFT11withGIFDataV10Foundation4Data9loopCountSi17completionHandlerGSqFT_T___T_":{"name":"prepareForAnimation(withGIFData:loopCount:completionHandler:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable15prepareForReuseFT_T_":{"name":"prepareForReuse()","abstract":"

    Stop animating and free up GIF data from memory.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable17startAnimatingGIFFT_T_":{"name":"startAnimatingGIF()","abstract":"

    Start animating GIF.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable16stopAnimatingGIFFT_T_":{"name":"stopAnimatingGIF()","abstract":"

    Stop animating GIF.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable21setShouldResizeFramesFSbT_":{"name":"setShouldResizeFrames(_:)","abstract":"

    Whether the frame images should be resized or not. The default is false, which means that the frame images retain their original size.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable19setFrameBufferCountFSiT_":{"name":"setFrameBufferCount(_:)","abstract":"

    Sets the number of frames that should be buffered. Default is 50. A high number will result in more memory usage and less CPU load, and vice versa.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable19updateImageIfNeededFT_T_":{"name":"updateImageIfNeeded()","abstract":"

    Updates the image with a new frame if necessary.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html":{"name":"GIFAnimatable","abstract":"

    The protocol that view classes need to conform to to enable animated GIF support.

    "},"Protocols/ImageContainer.html":{"name":"ImageContainer","abstract":"

    A single-property protocol that animatable classes can optionally conform to.

    "},"Classes/Animator.html#/s:FC4Gifu8AnimatorcFT12withDelegatePS_13GIFAnimatable__S0_":{"name":"init(withDelegate:)","abstract":"

    Creates a new animator with a delegate.

    ","parent_name":"Animator"},"Classes/GIFImageView.html#/s:vC4Gifu12GIFImageView8animatorGSqCS_8Animator_":{"name":"animator","abstract":"

    A lazy animator.

    ","parent_name":"GIFImageView"},"Classes/GIFImageView.html#/s:FC4Gifu12GIFImageView7displayFCSo7CALayerT_":{"name":"display(_:)","abstract":"

    Layer delegate method called periodically by the layer. Should not be called manually.

    ","parent_name":"GIFImageView"},"Classes/GIFImageView.html":{"name":"GIFImageView","abstract":"

    Example class that conforms to GIFAnimatable. Uses default values for the animator frame buffer count and resize behavior. You can either use it directly in your code or use it as a blueprint for your own subclass.

    "},"Classes/Animator.html":{"name":"Animator","abstract":"

    Responsible for parsing GIF data and decoding the individual frames.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "}} \ No newline at end of file diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/undocumented.json b/docs/docsets/Gifu.docset/Contents/Resources/Documents/undocumented.json deleted file mode 100644 index 2c06585..0000000 --- a/docs/docsets/Gifu.docset/Contents/Resources/Documents/undocumented.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "warnings": [ - - ], - "source_directory": "/Users/kaishin/Developer/Frameworks/Gifu" -} \ No newline at end of file diff --git a/docs/docsets/Gifu.docset/Contents/Resources/docSet.dsidx b/docs/docsets/Gifu.docset/Contents/Resources/docSet.dsidx index f75ab1c04ca4466535dca102d2928ac239fbecdc..960fec1b0112ea45b17c0afb7cdd4f58f861e3b2 100644 GIT binary patch delta 31 mcmZojXh@il$gjuhz{|kEz{Ib|z~9BMx3O?9-)3F@%L)K|iU=hD delta 31 mcmZojXh@il$glgifR}-Rfr(#_fxnAiZ)4$JzRkM)mlXh(+6hbm diff --git a/docs/docsets/Gifu.tgz b/docs/docsets/Gifu.tgz index a0cb9cafef7a1cf067c0409f33f34138ad619653..9fdef66bfa9fed14ad5b990a5cf6d4dfec0bce49 100644 GIT binary patch delta 52207 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 IbO68u04bmJ@Bjb+ delta 51543 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%0A70cB!l2RC0QSep-+TP6yLR0Y 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 diff --git a/docs/js/jazzy.js b/docs/js/jazzy.js index 4ff9455..3965b5f 100755 --- a/docs/js/jazzy.js +++ b/docs/js/jazzy.js @@ -38,3 +38,9 @@ $(".token").click(function(event) { } event.preventDefault(); }); + +// Dumb down quotes within code blocks that delimit strings instead of quotations +// https://github.com/realm/jazzy/issues/714 +$("code q").replaceWith(function () { + return ["\"", $(this).contents(), "\""]; +}); diff --git a/docs/search.json b/docs/search.json new file mode 100644 index 0000000..1814023 --- /dev/null +++ b/docs/search.json @@ -0,0 +1 @@ +{"Protocols/ImageContainer.html#/s:vP4Gifu14ImageContainer5imageGSqCSo7UIImage_":{"name":"image","abstract":"

    Used for displaying the animation frames.

    ","parent_name":"ImageContainer"},"Protocols/GIFAnimatable.html#/s:vP4Gifu13GIFAnimatable8animatorGSqCS_8Animator_":{"name":"animator","abstract":"

    Responsible for managing the animation frames.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:vP4Gifu13GIFAnimatable5layerCSo7CALayer":{"name":"layer","abstract":"

    Notifies the instance that it needs display.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:vP4Gifu13GIFAnimatable5frameVSC6CGRect":{"name":"frame","abstract":"

    View frame used for resizing the frames.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:vP4Gifu13GIFAnimatable11contentModeOSC17UIViewContentMode":{"name":"contentMode","abstract":"

    Content mode used for resizing the frames.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:ve4GifuRxS_13GIFAnimatablexS_14ImageContainerrS0_20intrinsicContentSizeVSC6CGSize":{"name":"intrinsicContentSize","abstract":"

    Returns the intrinsic content size based on the size of the image.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:vE4GifuPS_13GIFAnimatable15gifLoopDurationSd":{"name":"gifLoopDuration","abstract":"

    Total duration of one animation loop

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:vE4GifuPS_13GIFAnimatable11activeFrameGSqCSo7UIImage_":{"name":"activeFrame","abstract":"

    Returns the active frame if available.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:vE4GifuPS_13GIFAnimatable10frameCountSi":{"name":"frameCount","abstract":"

    Total frame count of the GIF.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:vE4GifuPS_13GIFAnimatable14isAnimatingGIFSb":{"name":"isAnimatingGIF","abstract":"

    Introspect whether the instance is animating.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable7animateFT12withGIFNamedSS9loopCountSi_T_":{"name":"animate(withGIFNamed:loopCount:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable7animateFT11withGIFDataV10Foundation4Data9loopCountSi_T_":{"name":"animate(withGIFData:loopCount:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable19prepareForAnimationFT12withGIFNamedSS9loopCountSi17completionHandlerGSqFT_T___T_":{"name":"prepareForAnimation(withGIFNamed:loopCount:completionHandler:)","abstract":"

    Prepares the animator instance for animation.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable19prepareForAnimationFT11withGIFDataV10Foundation4Data9loopCountSi17completionHandlerGSqFT_T___T_":{"name":"prepareForAnimation(withGIFData:loopCount:completionHandler:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable15prepareForReuseFT_T_":{"name":"prepareForReuse()","abstract":"

    Stop animating and free up GIF data from memory.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable17startAnimatingGIFFT_T_":{"name":"startAnimatingGIF()","abstract":"

    Start animating GIF.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable16stopAnimatingGIFFT_T_":{"name":"stopAnimatingGIF()","abstract":"

    Stop animating GIF.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable21setShouldResizeFramesFSbT_":{"name":"setShouldResizeFrames(_:)","abstract":"

    Whether the frame images should be resized or not. The default is false, which means that the frame images retain their original size.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable19setFrameBufferCountFSiT_":{"name":"setFrameBufferCount(_:)","abstract":"

    Sets the number of frames that should be buffered. Default is 50. A high number will result in more memory usage and less CPU load, and vice versa.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:FE4GifuPS_13GIFAnimatable19updateImageIfNeededFT_T_":{"name":"updateImageIfNeeded()","abstract":"

    Updates the image with a new frame if necessary.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html":{"name":"GIFAnimatable","abstract":"

    The protocol that view classes need to conform to to enable animated GIF support.

    "},"Protocols/ImageContainer.html":{"name":"ImageContainer","abstract":"

    A single-property protocol that animatable classes can optionally conform to.

    "},"Classes/Animator.html#/s:FC4Gifu8AnimatorcFT12withDelegatePS_13GIFAnimatable__S0_":{"name":"init(withDelegate:)","abstract":"

    Creates a new animator with a delegate.

    ","parent_name":"Animator"},"Classes/GIFImageView.html#/s:vC4Gifu12GIFImageView8animatorGSqCS_8Animator_":{"name":"animator","abstract":"

    A lazy animator.

    ","parent_name":"GIFImageView"},"Classes/GIFImageView.html#/s:FC4Gifu12GIFImageView7displayFCSo7CALayerT_":{"name":"display(_:)","abstract":"

    Layer delegate method called periodically by the layer. Should not be called manually.

    ","parent_name":"GIFImageView"},"Classes/GIFImageView.html":{"name":"GIFImageView","abstract":"

    Example class that conforms to GIFAnimatable. Uses default values for the animator frame buffer count and resize behavior. You can either use it directly in your code or use it as a blueprint for your own subclass.

    "},"Classes/Animator.html":{"name":"Animator","abstract":"

    Responsible for parsing GIF data and decoding the individual frames.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "}} \ No newline at end of file
    -

    Logo

    +

    Logo

    -

    GitHub release Bitrise Carthage compatible Join the chat at https://gitter.im/kaishin/gifu Swift 3.0.x platforms

    +

    GitHub release Bitrise Carthage compatible Join the chat at https://gitter.im/kaishin/gifu Swift 3.0.x platforms

    Gifu adds protocol-based, performance-aware animated GIF support to UIKit. (It’s also a prefecture in Japan).

    Swift 2.3 support is on the swift2.3 branch which will not be getting any future updates.

    -

    Install

    -

    Carthage

    +

    Install

    +

    Carthage

    • Add the following to your Cartfile: github "kaishin/Gifu"
    • @@ -72,14 +72,14 @@
    • Follow the current instructions in Carthage’s README for up to date installation instructions.
    -

    CocoaPods

    +

    CocoaPods

    • Add the following to your Podfile: pod 'Gifu'
    • You will also need to make sure you’re opting into using frameworks: use_frameworks!
    • Then run pod install with CocoaPods 0.36 or newer.
    -

    How It Works

    +

    How It Works

    Gifu does not require using the built-in GIFImageView subclass. The Animator class does the heavy-lifting, while the GIFAnimatable protocol exposes the functionality to the view classes that conform to it, using protocol extensions.

    @@ -89,7 +89,7 @@ containing 10 frames, Gifu will load the current frame (red), buffer the next two frames in this example (orange), and empty up all the other frames to free up memory (gray):

    -

    Usage

    +

    Usage

    There are two options that should cover any situation:

    @@ -97,7 +97,7 @@
  • Use the built-in GIFImageView subclass if you don’t need to combine GIF support with another image library.
  • If you need more flexibility and composability, make your class conform to GIFAnimatable. In practice, any UIView subclass would do, since you get most of the required properties for free. For best results, make your UIImageView subclass conform to GIFAnimatable to get access to other features such as intrinsic content size.
  • -

    GIFAnimatable

    +

    GIFAnimatable

    The bread and butter of Gifu. Through protocol extensions, GIFAnimatable exposes all the APIs of the library, and with very little boilerplate, any class can conform to it.

    class MyImageView: UIImageView, GIFAnimatable {
    @@ -164,7 +164,7 @@
       }
     }
     
    -

    Examples

    +

    Examples

    The simplest way to get started is initializing a GIFAnimatable class in code or in a storyboard, then calling animate(:) on it.

    let imageView = GIFImageView(frame: CGRect(x: 0, y: 0, width: 200, height: 100))
    @@ -194,20 +194,20 @@
       imageView.prepareForReuse()
     }
     
    -

    Demo App

    +

    Demo App

    Clone or download the repository and open Gifu.xcworkspace to check out the demo app.

    -

    Documentation

    +

    Documentation

    See the full API documentation.

    -

    Compatibility

    +

    Compatibility

    • iOS 9.0+
    • Swift 3.0
    • Xcode 8.0
    -

    License

    +

    License

    See LICENSE.

    @@ -215,7 +215,7 @@