├── .DS_Store ├── .gitignore ├── Coding-StartGuidePage-01.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcuserdata │ │ └── HanHailong.xcuserdatad │ │ └── UserInterfaceState.xcuserstate └── xcuserdata │ └── HanHailong.xcuserdatad │ └── xcschemes │ ├── Coding-StartGuidePage-01.xcscheme │ └── xcschememanagement.plist ├── Coding-StartGuidePage-01.xcworkspace └── contents.xcworkspacedata ├── Coding-StartGuidePage-01 ├── .DS_Store ├── AppDelegate.h ├── AppDelegate.m ├── CodingPrefix.pch ├── Images.xcassets │ ├── .DS_Store │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── LaunchImage.launchimage │ │ ├── .DS_Store │ │ ├── Contents.json │ │ ├── vvc.png │ │ └── 传奇(3).png ├── Info.plist ├── ViewController.h ├── ViewController.m ├── classes │ ├── .DS_Store │ ├── GuideViewController.h │ ├── GuideViewController.m │ ├── IcarouselViewController.h │ └── IcarouselViewController.m ├── images │ ├── .DS_Store │ ├── introduction │ │ ├── intro_dot_selected@2x.png │ │ ├── intro_dot_selected@3x.png │ │ ├── intro_dot_unselected@2x.png │ │ ├── intro_dot_unselected@3x.png │ │ ├── intro_icon_0@2x.png │ │ ├── intro_icon_0@3x.png │ │ ├── intro_icon_1@2x.png │ │ ├── intro_icon_1@3x.png │ │ ├── intro_icon_2@2x.png │ │ ├── intro_icon_2@3x.png │ │ ├── intro_icon_3@2x.png │ │ ├── intro_icon_3@3x.png │ │ ├── intro_icon_4@2x.png │ │ ├── intro_icon_4@3x.png │ │ ├── intro_icon_5@2x.png │ │ ├── intro_icon_5@3x.png │ │ ├── intro_icon_6@2x.png │ │ ├── intro_icon_6@3x.png │ │ ├── intro_tip_0@2x.png │ │ ├── intro_tip_0@3x.png │ │ ├── intro_tip_1@2x.png │ │ ├── intro_tip_1@3x.png │ │ ├── intro_tip_2@2x.png │ │ ├── intro_tip_2@3x.png │ │ ├── intro_tip_3@2x.png │ │ ├── intro_tip_3@3x.png │ │ ├── intro_tip_4@2x.png │ │ ├── intro_tip_4@3x.png │ │ ├── intro_tip_5@2x.png │ │ └── intro_tip_5@3x.png │ ├── logo_coding_top@2x.png │ └── start_bg_02.png ├── main.m └── views │ ├── .DS_Store │ ├── EaseStartView.h │ └── EaseStartView.m ├── Coding-StartGuidePage-01Tests ├── Coding_StartGuidePage_01Tests.m └── Info.plist ├── LICENSE ├── Podfile ├── Podfile.lock ├── Pods ├── AFNetworking │ ├── AFNetworking │ │ ├── AFHTTPRequestOperation.h │ │ ├── AFHTTPRequestOperation.m │ │ ├── AFHTTPRequestOperationManager.h │ │ ├── AFHTTPRequestOperationManager.m │ │ ├── AFHTTPSessionManager.h │ │ ├── AFHTTPSessionManager.m │ │ ├── AFNetworkReachabilityManager.h │ │ ├── AFNetworkReachabilityManager.m │ │ ├── AFNetworking.h │ │ ├── AFSecurityPolicy.h │ │ ├── AFSecurityPolicy.m │ │ ├── AFURLConnectionOperation.h │ │ ├── AFURLConnectionOperation.m │ │ ├── AFURLRequestSerialization.h │ │ ├── AFURLRequestSerialization.m │ │ ├── AFURLResponseSerialization.h │ │ ├── AFURLResponseSerialization.m │ │ ├── AFURLSessionManager.h │ │ └── AFURLSessionManager.m │ ├── LICENSE │ ├── README.md │ └── UIKit+AFNetworking │ │ ├── AFNetworkActivityIndicatorManager.h │ │ ├── AFNetworkActivityIndicatorManager.m │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ ├── UIActivityIndicatorView+AFNetworking.m │ │ ├── UIAlertView+AFNetworking.h │ │ ├── UIAlertView+AFNetworking.m │ │ ├── UIButton+AFNetworking.h │ │ ├── UIButton+AFNetworking.m │ │ ├── UIImageView+AFNetworking.h │ │ ├── UIImageView+AFNetworking.m │ │ ├── UIKit+AFNetworking.h │ │ ├── UIProgressView+AFNetworking.h │ │ ├── UIProgressView+AFNetworking.m │ │ ├── UIRefreshControl+AFNetworking.h │ │ ├── UIRefreshControl+AFNetworking.m │ │ ├── UIWebView+AFNetworking.h │ │ └── UIWebView+AFNetworking.m ├── Headers │ ├── Private │ │ ├── AFNetworking │ │ │ ├── AFHTTPRequestOperation.h │ │ │ ├── AFHTTPRequestOperationManager.h │ │ │ ├── AFHTTPSessionManager.h │ │ │ ├── AFNetworkActivityIndicatorManager.h │ │ │ ├── AFNetworkReachabilityManager.h │ │ │ ├── AFNetworking.h │ │ │ ├── AFSecurityPolicy.h │ │ │ ├── AFURLConnectionOperation.h │ │ │ ├── AFURLRequestSerialization.h │ │ │ ├── AFURLResponseSerialization.h │ │ │ ├── AFURLSessionManager.h │ │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ │ ├── UIAlertView+AFNetworking.h │ │ │ ├── UIButton+AFNetworking.h │ │ │ ├── UIImageView+AFNetworking.h │ │ │ ├── UIKit+AFNetworking.h │ │ │ ├── UIProgressView+AFNetworking.h │ │ │ ├── UIRefreshControl+AFNetworking.h │ │ │ └── UIWebView+AFNetworking.h │ │ ├── JazzHands │ │ │ ├── IFTTTAlphaAnimation.h │ │ │ ├── IFTTTAnimatable.h │ │ │ ├── IFTTTAnimatedPagingScrollViewController.h │ │ │ ├── IFTTTAnimatedScrollViewController.h │ │ │ ├── IFTTTAnimation.h │ │ │ ├── IFTTTAnimator.h │ │ │ ├── IFTTTColorAnimation.h │ │ │ ├── IFTTTConstraintConstantAnimation.h │ │ │ ├── IFTTTConstraintMultiplierAnimation.h │ │ │ ├── IFTTTCornerRadiusAnimation.h │ │ │ ├── IFTTTEasingFunction.h │ │ │ ├── IFTTTFillColorAnimation.h │ │ │ ├── IFTTTFilmstrip.h │ │ │ ├── IFTTTFrameAnimation.h │ │ │ ├── IFTTTHideAnimation.h │ │ │ ├── IFTTTInterpolatable.h │ │ │ ├── IFTTTJazzHands.h │ │ │ ├── IFTTTLabelAnimation.h │ │ │ ├── IFTTTRotationAnimation.h │ │ │ ├── IFTTTScaleAnimation.h │ │ │ ├── IFTTTScrollViewPageConstraintAnimation.h │ │ │ ├── IFTTTShapeLayerAnimation.h │ │ │ ├── IFTTTStrokeEndAnimation.h │ │ │ ├── IFTTTStrokeStartAnimation.h │ │ │ ├── IFTTTTextColorAnimation.h │ │ │ ├── IFTTTTransform3DAnimation.h │ │ │ ├── IFTTTTranslationAnimation.h │ │ │ ├── IFTTTViewAnimation.h │ │ │ └── UIView+IFTTTJazzHands.h │ │ ├── Masonry │ │ │ ├── MASCompositeConstraint.h │ │ │ ├── MASConstraint+Private.h │ │ │ ├── MASConstraint.h │ │ │ ├── MASConstraintMaker.h │ │ │ ├── MASLayoutConstraint.h │ │ │ ├── MASUtilities.h │ │ │ ├── MASViewAttribute.h │ │ │ ├── MASViewConstraint.h │ │ │ ├── Masonry.h │ │ │ ├── NSArray+MASAdditions.h │ │ │ ├── NSArray+MASShorthandAdditions.h │ │ │ ├── NSLayoutConstraint+MASDebugAdditions.h │ │ │ ├── View+MASAdditions.h │ │ │ ├── View+MASShorthandAdditions.h │ │ │ └── ViewController+MASAdditions.h │ │ ├── NYXImagesKit │ │ │ ├── NYXImagesHelper.h │ │ │ ├── NYXImagesKit.h │ │ │ ├── NYXProgressiveImageView.h │ │ │ ├── UIImage+Blurring.h │ │ │ ├── UIImage+Enhancing.h │ │ │ ├── UIImage+Filtering.h │ │ │ ├── UIImage+Masking.h │ │ │ ├── UIImage+Reflection.h │ │ │ ├── UIImage+Resizing.h │ │ │ ├── UIImage+Rotating.h │ │ │ ├── UIImage+Saving.h │ │ │ ├── UIScrollView+Screenshot.h │ │ │ └── UIView+Screenshot.h │ │ ├── SDWebImage │ │ │ ├── NSData+ImageContentType.h │ │ │ ├── SDImageCache.h │ │ │ ├── SDWebImageCompat.h │ │ │ ├── SDWebImageDecoder.h │ │ │ ├── SDWebImageDownloader.h │ │ │ ├── SDWebImageDownloaderOperation.h │ │ │ ├── SDWebImageManager.h │ │ │ ├── SDWebImageOperation.h │ │ │ ├── SDWebImagePrefetcher.h │ │ │ ├── UIButton+WebCache.h │ │ │ ├── UIImage+GIF.h │ │ │ ├── UIImage+MultiFormat.h │ │ │ ├── UIImageView+HighlightedWebCache.h │ │ │ ├── UIImageView+WebCache.h │ │ │ └── UIView+WebCacheOperation.h │ │ ├── SMPageControl │ │ │ └── SMPageControl.h │ │ └── iCarousel │ │ │ └── iCarousel.h │ └── Public │ │ ├── AFNetworking │ │ ├── AFHTTPRequestOperation.h │ │ ├── AFHTTPRequestOperationManager.h │ │ ├── AFHTTPSessionManager.h │ │ ├── AFNetworkActivityIndicatorManager.h │ │ ├── AFNetworkReachabilityManager.h │ │ ├── AFNetworking.h │ │ ├── AFSecurityPolicy.h │ │ ├── AFURLConnectionOperation.h │ │ ├── AFURLRequestSerialization.h │ │ ├── AFURLResponseSerialization.h │ │ ├── AFURLSessionManager.h │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ ├── UIAlertView+AFNetworking.h │ │ ├── UIButton+AFNetworking.h │ │ ├── UIImageView+AFNetworking.h │ │ ├── UIKit+AFNetworking.h │ │ ├── UIProgressView+AFNetworking.h │ │ ├── UIRefreshControl+AFNetworking.h │ │ └── UIWebView+AFNetworking.h │ │ ├── JazzHands │ │ ├── IFTTTAlphaAnimation.h │ │ ├── IFTTTAnimatable.h │ │ ├── IFTTTAnimatedPagingScrollViewController.h │ │ ├── IFTTTAnimatedScrollViewController.h │ │ ├── IFTTTAnimation.h │ │ ├── IFTTTAnimator.h │ │ ├── IFTTTColorAnimation.h │ │ ├── IFTTTConstraintConstantAnimation.h │ │ ├── IFTTTConstraintMultiplierAnimation.h │ │ ├── IFTTTCornerRadiusAnimation.h │ │ ├── IFTTTEasingFunction.h │ │ ├── IFTTTFillColorAnimation.h │ │ ├── IFTTTFilmstrip.h │ │ ├── IFTTTFrameAnimation.h │ │ ├── IFTTTHideAnimation.h │ │ ├── IFTTTInterpolatable.h │ │ ├── IFTTTJazzHands.h │ │ ├── IFTTTLabelAnimation.h │ │ ├── IFTTTRotationAnimation.h │ │ ├── IFTTTScaleAnimation.h │ │ ├── IFTTTScrollViewPageConstraintAnimation.h │ │ ├── IFTTTShapeLayerAnimation.h │ │ ├── IFTTTStrokeEndAnimation.h │ │ ├── IFTTTStrokeStartAnimation.h │ │ ├── IFTTTTextColorAnimation.h │ │ ├── IFTTTTransform3DAnimation.h │ │ ├── IFTTTTranslationAnimation.h │ │ ├── IFTTTViewAnimation.h │ │ └── UIView+IFTTTJazzHands.h │ │ ├── Masonry │ │ ├── MASCompositeConstraint.h │ │ ├── MASConstraint+Private.h │ │ ├── MASConstraint.h │ │ ├── MASConstraintMaker.h │ │ ├── MASLayoutConstraint.h │ │ ├── MASUtilities.h │ │ ├── MASViewAttribute.h │ │ ├── MASViewConstraint.h │ │ ├── Masonry.h │ │ ├── NSArray+MASAdditions.h │ │ ├── NSArray+MASShorthandAdditions.h │ │ ├── NSLayoutConstraint+MASDebugAdditions.h │ │ ├── View+MASAdditions.h │ │ ├── View+MASShorthandAdditions.h │ │ └── ViewController+MASAdditions.h │ │ ├── NYXImagesKit │ │ ├── NYXImagesHelper.h │ │ ├── NYXImagesKit.h │ │ ├── NYXProgressiveImageView.h │ │ ├── UIImage+Blurring.h │ │ ├── UIImage+Enhancing.h │ │ ├── UIImage+Filtering.h │ │ ├── UIImage+Masking.h │ │ ├── UIImage+Reflection.h │ │ ├── UIImage+Resizing.h │ │ ├── UIImage+Rotating.h │ │ ├── UIImage+Saving.h │ │ ├── UIScrollView+Screenshot.h │ │ └── UIView+Screenshot.h │ │ ├── SDWebImage │ │ ├── NSData+ImageContentType.h │ │ ├── SDImageCache.h │ │ ├── SDWebImageCompat.h │ │ ├── SDWebImageDecoder.h │ │ ├── SDWebImageDownloader.h │ │ ├── SDWebImageDownloaderOperation.h │ │ ├── SDWebImageManager.h │ │ ├── SDWebImageOperation.h │ │ ├── SDWebImagePrefetcher.h │ │ ├── UIButton+WebCache.h │ │ ├── UIImage+GIF.h │ │ ├── UIImage+MultiFormat.h │ │ ├── UIImageView+HighlightedWebCache.h │ │ ├── UIImageView+WebCache.h │ │ └── UIView+WebCacheOperation.h │ │ ├── SMPageControl │ │ └── SMPageControl.h │ │ └── iCarousel │ │ └── iCarousel.h ├── JazzHands │ ├── JazzHands │ │ ├── IFTTTAlphaAnimation.h │ │ ├── IFTTTAlphaAnimation.m │ │ ├── IFTTTAnimatable.h │ │ ├── IFTTTAnimatedPagingScrollViewController.h │ │ ├── IFTTTAnimatedPagingScrollViewController.m │ │ ├── IFTTTAnimatedScrollViewController.h │ │ ├── IFTTTAnimatedScrollViewController.m │ │ ├── IFTTTAnimation.h │ │ ├── IFTTTAnimation.m │ │ ├── IFTTTAnimator.h │ │ ├── IFTTTAnimator.m │ │ ├── IFTTTColorAnimation.h │ │ ├── IFTTTColorAnimation.m │ │ ├── IFTTTConstraintConstantAnimation.h │ │ ├── IFTTTConstraintConstantAnimation.m │ │ ├── IFTTTConstraintMultiplierAnimation.h │ │ ├── IFTTTConstraintMultiplierAnimation.m │ │ ├── IFTTTCornerRadiusAnimation.h │ │ ├── IFTTTCornerRadiusAnimation.m │ │ ├── IFTTTEasingFunction.h │ │ ├── IFTTTEasingFunction.m │ │ ├── IFTTTFillColorAnimation.h │ │ ├── IFTTTFillColorAnimation.m │ │ ├── IFTTTFilmstrip.h │ │ ├── IFTTTFilmstrip.m │ │ ├── IFTTTFrameAnimation.h │ │ ├── IFTTTFrameAnimation.m │ │ ├── IFTTTHideAnimation.h │ │ ├── IFTTTHideAnimation.m │ │ ├── IFTTTInterpolatable.h │ │ ├── IFTTTInterpolatable.m │ │ ├── IFTTTJazzHands.h │ │ ├── IFTTTLabelAnimation.h │ │ ├── IFTTTLabelAnimation.m │ │ ├── IFTTTRotationAnimation.h │ │ ├── IFTTTRotationAnimation.m │ │ ├── IFTTTScaleAnimation.h │ │ ├── IFTTTScaleAnimation.m │ │ ├── IFTTTScrollViewPageConstraintAnimation.h │ │ ├── IFTTTScrollViewPageConstraintAnimation.m │ │ ├── IFTTTShapeLayerAnimation.h │ │ ├── IFTTTShapeLayerAnimation.m │ │ ├── IFTTTStrokeEndAnimation.h │ │ ├── IFTTTStrokeEndAnimation.m │ │ ├── IFTTTStrokeStartAnimation.h │ │ ├── IFTTTStrokeStartAnimation.m │ │ ├── IFTTTTextColorAnimation.h │ │ ├── IFTTTTextColorAnimation.m │ │ ├── IFTTTTransform3DAnimation.h │ │ ├── IFTTTTransform3DAnimation.m │ │ ├── IFTTTTranslationAnimation.h │ │ ├── IFTTTTranslationAnimation.m │ │ ├── IFTTTViewAnimation.h │ │ ├── IFTTTViewAnimation.m │ │ ├── UIView+IFTTTJazzHands.h │ │ └── UIView+IFTTTJazzHands.m │ ├── LICENSE │ └── README.md ├── Manifest.lock ├── Masonry │ ├── LICENSE │ ├── Masonry │ │ ├── MASCompositeConstraint.h │ │ ├── MASCompositeConstraint.m │ │ ├── MASConstraint+Private.h │ │ ├── MASConstraint.h │ │ ├── MASConstraint.m │ │ ├── MASConstraintMaker.h │ │ ├── MASConstraintMaker.m │ │ ├── MASLayoutConstraint.h │ │ ├── MASLayoutConstraint.m │ │ ├── MASUtilities.h │ │ ├── MASViewAttribute.h │ │ ├── MASViewAttribute.m │ │ ├── MASViewConstraint.h │ │ ├── MASViewConstraint.m │ │ ├── Masonry.h │ │ ├── NSArray+MASAdditions.h │ │ ├── NSArray+MASAdditions.m │ │ ├── NSArray+MASShorthandAdditions.h │ │ ├── NSLayoutConstraint+MASDebugAdditions.h │ │ ├── NSLayoutConstraint+MASDebugAdditions.m │ │ ├── View+MASAdditions.h │ │ ├── View+MASAdditions.m │ │ ├── View+MASShorthandAdditions.h │ │ ├── ViewController+MASAdditions.h │ │ └── ViewController+MASAdditions.m │ └── README.md ├── NYXImagesKit │ ├── Categories │ │ ├── UIImage+Blurring.h │ │ ├── UIImage+Blurring.m │ │ ├── UIImage+Enhancing.h │ │ ├── UIImage+Enhancing.m │ │ ├── UIImage+Filtering.h │ │ ├── UIImage+Filtering.m │ │ ├── UIImage+Masking.h │ │ ├── UIImage+Masking.m │ │ ├── UIImage+Reflection.h │ │ ├── UIImage+Reflection.m │ │ ├── UIImage+Resizing.h │ │ ├── UIImage+Resizing.m │ │ ├── UIImage+Rotating.h │ │ ├── UIImage+Rotating.m │ │ ├── UIImage+Saving.h │ │ ├── UIImage+Saving.m │ │ ├── UIScrollView+Screenshot.h │ │ ├── UIScrollView+Screenshot.m │ │ ├── UIView+Screenshot.h │ │ └── UIView+Screenshot.m │ ├── Classes │ │ ├── NYXProgressiveImageView.h │ │ └── NYXProgressiveImageView.m │ ├── Helper │ │ ├── NYXImagesHelper.h │ │ ├── NYXImagesHelper.m │ │ └── NYXImagesKit.h │ ├── LICENSE.txt │ └── readme.md ├── Pods.xcodeproj │ └── project.pbxproj ├── SDWebImage │ ├── LICENSE │ ├── README.md │ └── SDWebImage │ │ ├── NSData+ImageContentType.h │ │ ├── NSData+ImageContentType.m │ │ ├── SDImageCache.h │ │ ├── SDImageCache.m │ │ ├── SDWebImageCompat.h │ │ ├── SDWebImageCompat.m │ │ ├── SDWebImageDecoder.h │ │ ├── SDWebImageDecoder.m │ │ ├── SDWebImageDownloader.h │ │ ├── SDWebImageDownloader.m │ │ ├── SDWebImageDownloaderOperation.h │ │ ├── SDWebImageDownloaderOperation.m │ │ ├── SDWebImageManager.h │ │ ├── SDWebImageManager.m │ │ ├── SDWebImageOperation.h │ │ ├── SDWebImagePrefetcher.h │ │ ├── SDWebImagePrefetcher.m │ │ ├── UIButton+WebCache.h │ │ ├── UIButton+WebCache.m │ │ ├── UIImage+GIF.h │ │ ├── UIImage+GIF.m │ │ ├── UIImage+MultiFormat.h │ │ ├── UIImage+MultiFormat.m │ │ ├── UIImageView+HighlightedWebCache.h │ │ ├── UIImageView+HighlightedWebCache.m │ │ ├── UIImageView+WebCache.h │ │ ├── UIImageView+WebCache.m │ │ ├── UIView+WebCacheOperation.h │ │ └── UIView+WebCacheOperation.m ├── SMPageControl │ ├── LICENSE │ ├── SMPageControl.h │ ├── SMPageControl.m │ └── readme.md ├── Target Support Files │ ├── AFNetworking │ │ ├── AFNetworking-Private.xcconfig │ │ ├── AFNetworking-dummy.m │ │ ├── AFNetworking-prefix.pch │ │ └── AFNetworking.xcconfig │ ├── JazzHands │ │ ├── JazzHands-Private.xcconfig │ │ ├── JazzHands-dummy.m │ │ ├── JazzHands-prefix.pch │ │ └── JazzHands.xcconfig │ ├── Masonry │ │ ├── Masonry-Private.xcconfig │ │ ├── Masonry-dummy.m │ │ ├── Masonry-prefix.pch │ │ └── Masonry.xcconfig │ ├── NYXImagesKit │ │ ├── NYXImagesKit-Private.xcconfig │ │ ├── NYXImagesKit-dummy.m │ │ ├── NYXImagesKit-prefix.pch │ │ └── NYXImagesKit.xcconfig │ ├── Pods-Coding-StartGuidePage-01 │ │ ├── Pods-Coding-StartGuidePage-01-acknowledgements.markdown │ │ ├── Pods-Coding-StartGuidePage-01-acknowledgements.plist │ │ ├── Pods-Coding-StartGuidePage-01-dummy.m │ │ ├── Pods-Coding-StartGuidePage-01-resources.sh │ │ ├── Pods-Coding-StartGuidePage-01.debug.xcconfig │ │ └── Pods-Coding-StartGuidePage-01.release.xcconfig │ ├── SDWebImage │ │ ├── SDWebImage-Private.xcconfig │ │ ├── SDWebImage-dummy.m │ │ ├── SDWebImage-prefix.pch │ │ └── SDWebImage.xcconfig │ ├── SMPageControl │ │ ├── SMPageControl-Private.xcconfig │ │ ├── SMPageControl-dummy.m │ │ ├── SMPageControl-prefix.pch │ │ └── SMPageControl.xcconfig │ └── iCarousel │ │ ├── iCarousel-Private.xcconfig │ │ ├── iCarousel-dummy.m │ │ ├── iCarousel-prefix.pch │ │ └── iCarousel.xcconfig └── iCarousel │ ├── LICENCE.md │ ├── README.md │ └── iCarousel │ ├── iCarousel.h │ └── iCarousel.m ├── README.md └── screenshot ├── .DS_Store ├── start_guide_01.gif └── start_guide_01_02.gif /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/.DS_Store -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | build/ 4 | *.pbxuser 5 | !default.pbxuser 6 | *.mode1v3 7 | !default.mode1v3 8 | *.mode2v3 9 | !default.mode2v3 10 | *.perspectivev3 11 | !default.perspectivev3 12 | xcuserdata 13 | *.xccheckout 14 | *.moved-aside 15 | DerivedData 16 | *.hmap 17 | *.ipa 18 | *.xcuserstate 19 | 20 | # CocoaPods 21 | # 22 | # We recommend against adding the Pods directory to your .gitignore. However 23 | # you should judge for yourself, the pros and cons are mentioned at: 24 | # http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control 25 | # 26 | #Pods/ 27 | -------------------------------------------------------------------------------- /Coding-StartGuidePage-01.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Coding-StartGuidePage-01.xcodeproj/project.xcworkspace/xcuserdata/HanHailong.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01.xcodeproj/project.xcworkspace/xcuserdata/HanHailong.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Coding-StartGuidePage-01.xcodeproj/xcuserdata/HanHailong.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Coding-StartGuidePage-01.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | DF5517F61B56B26E009C9D87 16 | 17 | primary 18 | 19 | 20 | DF55180F1B56B26E009C9D87 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Coding-StartGuidePage-01.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/.DS_Store -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // Coding-StartGuidePage-01 4 | // 5 | // Created by HailongHan on 15/7/15. 6 | // Copyright (c) 2015年 HailongHan. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/CodingPrefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // CodingPrefix.pch 3 | // Coding-StartGuidePage-01 4 | // 5 | // Created by HailongHan on 15/7/19. 6 | // Copyright (c) 2015年 HailongHan. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #ifdef __OBJC__ 12 | 13 | #import 14 | #import 15 | #import 16 | 17 | #endif 18 | 19 | #define kKeyWindow [UIApplication sharedApplication].keyWindow 20 | 21 | #define kScreen_Bounds [UIScreen mainScreen].bounds 22 | #define kScreen_Height [UIScreen mainScreen].bounds.size.height 23 | #define kScreen_Width [UIScreen mainScreen].bounds.size.width -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/Images.xcassets/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/Images.xcassets/.DS_Store -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/Images.xcassets/LaunchImage.launchimage/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/Images.xcassets/LaunchImage.launchimage/.DS_Store -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/Images.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "orientation" : "portrait", 5 | "idiom" : "iphone", 6 | "extent" : "full-screen", 7 | "minimum-system-version" : "8.0", 8 | "subtype" : "736h", 9 | "scale" : "3x" 10 | }, 11 | { 12 | "orientation" : "portrait", 13 | "idiom" : "iphone", 14 | "extent" : "full-screen", 15 | "minimum-system-version" : "8.0", 16 | "subtype" : "667h", 17 | "scale" : "2x" 18 | }, 19 | { 20 | "orientation" : "portrait", 21 | "idiom" : "iphone", 22 | "extent" : "full-screen", 23 | "minimum-system-version" : "7.0", 24 | "filename" : "vvc.png", 25 | "scale" : "2x" 26 | }, 27 | { 28 | "extent" : "full-screen", 29 | "idiom" : "iphone", 30 | "subtype" : "retina4", 31 | "filename" : "传奇(3).png", 32 | "minimum-system-version" : "7.0", 33 | "orientation" : "portrait", 34 | "scale" : "2x" 35 | }, 36 | { 37 | "orientation" : "portrait", 38 | "idiom" : "ipad", 39 | "extent" : "to-status-bar", 40 | "scale" : "1x" 41 | }, 42 | { 43 | "orientation" : "portrait", 44 | "idiom" : "ipad", 45 | "extent" : "to-status-bar", 46 | "scale" : "2x" 47 | } 48 | ], 49 | "info" : { 50 | "version" : 1, 51 | "author" : "xcode" 52 | } 53 | } -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/Images.xcassets/LaunchImage.launchimage/vvc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/Images.xcassets/LaunchImage.launchimage/vvc.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/Images.xcassets/LaunchImage.launchimage/传奇(3).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/Images.xcassets/LaunchImage.launchimage/传奇(3).png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | HHL.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UIRequiredDeviceCapabilities 26 | 27 | armv7 28 | 29 | UISupportedInterfaceOrientations 30 | 31 | UIInterfaceOrientationPortrait 32 | UIInterfaceOrientationLandscapeLeft 33 | UIInterfaceOrientationLandscapeRight 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // Coding-StartGuidePage-01 4 | // 5 | // Created by HailongHan on 15/7/15. 6 | // Copyright (c) 2015年 HailongHan. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // Coding-StartGuidePage-01 4 | // 5 | // Created by HailongHan on 15/7/15. 6 | // Copyright (c) 2015年 HailongHan. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | @interface ViewController () 12 | 13 | @end 14 | 15 | @implementation ViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | // Do any additional setup after loading the view, typically from a nib. 20 | self.view.backgroundColor = [UIColor whiteColor]; 21 | } 22 | 23 | - (void)didReceiveMemoryWarning { 24 | [super didReceiveMemoryWarning]; 25 | // Dispose of any resources that can be recreated. 26 | } 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/classes/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/classes/.DS_Store -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/classes/GuideViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // GuideViewController.h 3 | // Coding-StartGuidePage-01 4 | // 5 | // Created by HailongHan on 15/7/17. 6 | // Copyright (c) 2015年 HailongHan. All rights reserved. 7 | // 8 | 9 | #import "IFTTTAnimatedPagingScrollViewController.h" 10 | 11 | @interface GuideViewController : IFTTTAnimatedPagingScrollViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/classes/GuideViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // GuideViewController.m 3 | // Coding-StartGuidePage-01 4 | // 5 | // Created by HailongHan on 15/7/17. 6 | // Copyright (c) 2015年 HailongHan. All rights reserved. 7 | // 8 | 9 | #import "GuideViewController.h" 10 | #import 11 | 12 | @interface GuideViewController () 13 | 14 | @property (nonatomic,strong) UIButton *registerBtn,*loginBtn; 15 | 16 | @end 17 | 18 | @implementation GuideViewController 19 | 20 | - (void)viewDidLoad { 21 | [super viewDidLoad]; 22 | // Do any additional setup after loading the view. 23 | self.view.backgroundColor = [UIColor whiteColor]; 24 | 25 | 26 | [self configViews]; 27 | } 28 | 29 | /** 30 | * 配置视图view 31 | */ 32 | - (void)configViews{ 33 | [self configRegisterLoginButtonAndPageControl]; 34 | } 35 | 36 | - (void)configRegisterLoginButtonAndPageControl{ 37 | self.registerBtn = [UIButton new]; 38 | 39 | } 40 | 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/classes/IcarouselViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // IcarouselViewController.h 3 | // Coding-StartGuidePage-01 4 | // 5 | // Created by HailongHan on 15/7/20. 6 | // Copyright (c) 2015年 HailongHan. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface IcarouselViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/classes/IcarouselViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // IcarouselViewController.m 3 | // Coding-StartGuidePage-01 4 | // 5 | // Created by HailongHan on 15/7/20. 6 | // Copyright (c) 2015年 HailongHan. All rights reserved. 7 | // 8 | 9 | #import "IcarouselViewController.h" 10 | #import 11 | 12 | @interface IcarouselViewController () 13 | 14 | @property (nonatomic,strong) iCarousel *myCarousel; 15 | 16 | @end 17 | 18 | @implementation IcarouselViewController 19 | 20 | - (void)viewDidLoad { 21 | [super viewDidLoad]; 22 | // Do any additional setup after loading the view. 23 | 24 | [self setupViews]; 25 | } 26 | 27 | /** 28 | * 初始化视图 29 | */ 30 | - (void)setupViews{ 31 | self.view.backgroundColor = [UIColor whiteColor]; 32 | 33 | self.myCarousel =({ 34 | iCarousel *icarousel = [[iCarousel alloc] init]; 35 | icarousel.dataSource = self; 36 | icarousel.delegate = self; 37 | 38 | icarousel.type = iCarouselTypeLinear; 39 | icarousel.scrollSpeed = 1.0; 40 | icarousel.pagingEnabled = YES; 41 | 42 | icarousel.decelerationRate = 1.0; 43 | icarousel.clipsToBounds = YES; 44 | icarousel.bounceDistance = 0.0001; 45 | 46 | [self.view addSubview:icarousel]; 47 | 48 | [icarousel mas_makeConstraints:^(MASConstraintMaker *make) { 49 | make.edges.equalTo(self.view).insets(UIEdgeInsetsMake(100, 0, 0, 0)); 50 | }]; 51 | 52 | icarousel; 53 | }); 54 | } 55 | 56 | #pragma mark - ICarousel 协议 57 | -(NSInteger)numberOfItemsInCarousel:(iCarousel *)carousel{ 58 | return 5; 59 | } 60 | 61 | -(UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSInteger)index reusingView:(UIView *)view{ 62 | 63 | view.backgroundColor = [UIColor redColor]; 64 | 65 | UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, 20)]; 66 | label.textAlignment = NSTextAlignmentCenter; 67 | 68 | label.text = [NSString stringWithFormat:@"页码%ld",(long)index]; 69 | 70 | return label; 71 | } 72 | 73 | @end 74 | -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/.DS_Store -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_dot_selected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_dot_selected@2x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_dot_selected@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_dot_selected@3x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_dot_unselected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_dot_unselected@2x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_dot_unselected@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_dot_unselected@3x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_icon_0@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_icon_0@2x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_icon_0@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_icon_0@3x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_icon_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_icon_1@2x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_icon_1@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_icon_1@3x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_icon_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_icon_2@2x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_icon_2@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_icon_2@3x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_icon_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_icon_3@2x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_icon_3@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_icon_3@3x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_icon_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_icon_4@2x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_icon_4@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_icon_4@3x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_icon_5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_icon_5@2x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_icon_5@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_icon_5@3x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_icon_6@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_icon_6@2x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_icon_6@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_icon_6@3x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_tip_0@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_tip_0@2x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_tip_0@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_tip_0@3x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_tip_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_tip_1@2x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_tip_1@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_tip_1@3x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_tip_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_tip_2@2x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_tip_2@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_tip_2@3x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_tip_3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_tip_3@2x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_tip_3@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_tip_3@3x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_tip_4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_tip_4@2x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_tip_4@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_tip_4@3x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_tip_5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_tip_5@2x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/introduction/intro_tip_5@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/introduction/intro_tip_5@3x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/logo_coding_top@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/logo_coding_top@2x.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/images/start_bg_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/images/start_bg_02.png -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // Coding-StartGuidePage-01 4 | // 5 | // Created by HailongHan on 15/7/15. 6 | // Copyright (c) 2015年 HailongHan. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/views/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Coding-StartGuidePage-01/views/.DS_Store -------------------------------------------------------------------------------- /Coding-StartGuidePage-01/views/EaseStartView.h: -------------------------------------------------------------------------------- 1 | // 2 | // EaseStartView.h 3 | // Coding-StartGuidePage-01 4 | // 5 | // Created by HailongHan on 15/7/16. 6 | // Copyright (c) 2015年 HailongHan. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface EaseStartView : UIView 12 | 13 | /** 14 | * 初始化开始View 15 | * 16 | */ 17 | + (instancetype)startView; 18 | 19 | - (void)startAnimationWithCompletionBlock:(void (^)(EaseStartView *startView))completionBlock; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Coding-StartGuidePage-01Tests/Coding_StartGuidePage_01Tests.m: -------------------------------------------------------------------------------- 1 | // 2 | // Coding_StartGuidePage_01Tests.m 3 | // Coding-StartGuidePage-01Tests 4 | // 5 | // Created by HailongHan on 15/7/15. 6 | // Copyright (c) 2015年 HailongHan. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface Coding_StartGuidePage_01Tests : XCTestCase 13 | 14 | @end 15 | 16 | @implementation Coding_StartGuidePage_01Tests 17 | 18 | - (void)setUp { 19 | [super setUp]; 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | } 22 | 23 | - (void)tearDown { 24 | // Put teardown code here. This method is called after the invocation of each test method in the class. 25 | [super tearDown]; 26 | } 27 | 28 | - (void)testExample { 29 | // This is an example of a functional test case. 30 | XCTAssert(YES, @"Pass"); 31 | } 32 | 33 | - (void)testPerformanceExample { 34 | // This is an example of a performance test case. 35 | [self measureBlock:^{ 36 | // Put the code you want to measure the time of here. 37 | }]; 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Coding-StartGuidePage-01Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | HHL.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment this line to define a global platform for your project 2 | # platform :ios, '7.0' 3 | 4 | target 'Coding-StartGuidePage-01' do 5 | 6 | pod 'JazzHands', '~> 2.0.2' 7 | pod 'SMPageControl', '~> 1.2' 8 | pod 'Masonry' 9 | pod 'NYXImagesKit', '~> 2.3' 10 | pod 'iCarousel', '~> 1.8.1' 11 | pod 'AFNetworking', '~> 2.5.4' 12 | pod 'SDWebImage', '~> 3.7.3' 13 | 14 | end 15 | 16 | target 'Coding-StartGuidePage-01Tests' do 17 | 18 | end 19 | 20 | -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - AFNetworking (2.5.4): 3 | - AFNetworking/NSURLConnection (= 2.5.4) 4 | - AFNetworking/NSURLSession (= 2.5.4) 5 | - AFNetworking/Reachability (= 2.5.4) 6 | - AFNetworking/Security (= 2.5.4) 7 | - AFNetworking/Serialization (= 2.5.4) 8 | - AFNetworking/UIKit (= 2.5.4) 9 | - AFNetworking/NSURLConnection (2.5.4): 10 | - AFNetworking/Reachability 11 | - AFNetworking/Security 12 | - AFNetworking/Serialization 13 | - AFNetworking/NSURLSession (2.5.4): 14 | - AFNetworking/Reachability 15 | - AFNetworking/Security 16 | - AFNetworking/Serialization 17 | - AFNetworking/Reachability (2.5.4) 18 | - AFNetworking/Security (2.5.4) 19 | - AFNetworking/Serialization (2.5.4) 20 | - AFNetworking/UIKit (2.5.4): 21 | - AFNetworking/NSURLConnection 22 | - AFNetworking/NSURLSession 23 | - iCarousel (1.8.1) 24 | - JazzHands (2.0.2) 25 | - Masonry (0.6.2) 26 | - NYXImagesKit (2.3) 27 | - SDWebImage (3.7.3): 28 | - SDWebImage/Core (= 3.7.3) 29 | - SDWebImage/Core (3.7.3) 30 | - SMPageControl (1.2) 31 | 32 | DEPENDENCIES: 33 | - AFNetworking (~> 2.5.4) 34 | - iCarousel (~> 1.8.1) 35 | - JazzHands (~> 2.0.2) 36 | - Masonry 37 | - NYXImagesKit (~> 2.3) 38 | - SDWebImage (~> 3.7.3) 39 | - SMPageControl (~> 1.2) 40 | 41 | SPEC CHECKSUMS: 42 | AFNetworking: 05edc0ac4c4c8cf57bcf4b84be5b0744b6d8e71e 43 | iCarousel: dace1cb858e3f4dc2614bee3201041247f82feda 44 | JazzHands: 088a3949e539480b07ba6ae4877da935efcc061b 45 | Masonry: 362e8a1cc0beada4a4c4832d5e863da2a51533be 46 | NYXImagesKit: 8163e3335a40eaa173ca5bbbf81fafb57d3947eb 47 | SDWebImage: 1d2b1a1efda1ade1b00b6f8498865f8ddedc8a84 48 | SMPageControl: 922892813001cfaf059e86e6801f46a967e9ee29 49 | 50 | COCOAPODS: 0.38.0.beta.2 51 | -------------------------------------------------------------------------------- /Pods/AFNetworking/AFNetworking/AFNetworking.h: -------------------------------------------------------------------------------- 1 | // AFNetworking.h 2 | // 3 | // Copyright (c) 2013 AFNetworking (http://afnetworking.com/) 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | #import 24 | #import 25 | 26 | #ifndef _AFNETWORKING_ 27 | #define _AFNETWORKING_ 28 | 29 | #import "AFURLRequestSerialization.h" 30 | #import "AFURLResponseSerialization.h" 31 | #import "AFSecurityPolicy.h" 32 | #import "AFNetworkReachabilityManager.h" 33 | 34 | #import "AFURLConnectionOperation.h" 35 | #import "AFHTTPRequestOperation.h" 36 | #import "AFHTTPRequestOperationManager.h" 37 | 38 | #if ( ( defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 1090) || \ 39 | ( defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000 ) ) 40 | #import "AFURLSessionManager.h" 41 | #import "AFHTTPSessionManager.h" 42 | #endif 43 | 44 | #endif /* _AFNETWORKING_ */ 45 | -------------------------------------------------------------------------------- /Pods/AFNetworking/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011–2015 Alamofire Software Foundation (http://alamofire.org/) 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /Pods/AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h: -------------------------------------------------------------------------------- 1 | // UIKit+AFNetworking.h 2 | // 3 | // Copyright (c) 2013 AFNetworking (http://afnetworking.com/) 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | #import 24 | 25 | #ifndef _UIKIT_AFNETWORKING_ 26 | #define _UIKIT_AFNETWORKING_ 27 | 28 | #import "AFNetworkActivityIndicatorManager.h" 29 | 30 | #import "UIActivityIndicatorView+AFNetworking.h" 31 | #import "UIAlertView+AFNetworking.h" 32 | #import "UIButton+AFNetworking.h" 33 | #import "UIImageView+AFNetworking.h" 34 | #import "UIKit+AFNetworking.h" 35 | #import "UIProgressView+AFNetworking.h" 36 | #import "UIRefreshControl+AFNetworking.h" 37 | #import "UIWebView+AFNetworking.h" 38 | #endif /* _UIKIT_AFNETWORKING_ */ 39 | -------------------------------------------------------------------------------- /Pods/AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h: -------------------------------------------------------------------------------- 1 | // UIRefreshControl+AFNetworking.m 2 | // 3 | // Copyright (c) 2014 AFNetworking (http://afnetworking.com) 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | #import 24 | 25 | #import 26 | 27 | #if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) 28 | 29 | #import 30 | 31 | @class AFURLConnectionOperation; 32 | 33 | /** 34 | This category adds methods to the UIKit framework's `UIRefreshControl` class. The methods in this category provide support for automatically begining and ending refreshing depending on the loading state of a request operation or session task. 35 | */ 36 | @interface UIRefreshControl (AFNetworking) 37 | 38 | ///----------------------------------- 39 | /// @name Refreshing for Session Tasks 40 | ///----------------------------------- 41 | 42 | /** 43 | Binds the refreshing state to the state of the specified task. 44 | 45 | @param task The task. If `nil`, automatic updating from any previously specified operation will be disabled. 46 | */ 47 | #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 48 | - (void)setRefreshingWithStateOfTask:(NSURLSessionTask *)task; 49 | #endif 50 | 51 | ///---------------------------------------- 52 | /// @name Refreshing for Request Operations 53 | ///---------------------------------------- 54 | 55 | /** 56 | Binds the refreshing state to the execution state of the specified operation. 57 | 58 | @param operation The operation. If `nil`, automatic updating from any previously specified operation will be disabled. 59 | */ 60 | - (void)setRefreshingWithStateOfOperation:(AFURLConnectionOperation *)operation; 61 | 62 | @end 63 | 64 | #endif 65 | -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFHTTPRequestOperation.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPRequestOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFHTTPRequestOperationManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPRequestOperationManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFHTTPSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPSessionManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFNetworkActivityIndicatorManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFNetworkReachabilityManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworkReachabilityManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFSecurityPolicy.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFSecurityPolicy.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFURLConnectionOperation.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLConnectionOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFURLRequestSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLRequestSerialization.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFURLResponseSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLResponseSerialization.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFURLSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLSessionManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIActivityIndicatorView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIAlertView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIAlertView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIButton+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIImageView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIKit+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIProgressView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIRefreshControl+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIWebView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTAlphaAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTAlphaAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTAnimatable.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTAnimatable.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTAnimatedPagingScrollViewController.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTAnimatedPagingScrollViewController.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTAnimatedScrollViewController.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTAnimatedScrollViewController.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTAnimator.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTAnimator.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTColorAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTColorAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTConstraintConstantAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTConstraintConstantAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTConstraintMultiplierAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTConstraintMultiplierAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTCornerRadiusAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTCornerRadiusAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTEasingFunction.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTEasingFunction.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTFillColorAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTFillColorAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTFilmstrip.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTFilmstrip.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTFrameAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTFrameAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTHideAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTHideAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTInterpolatable.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTInterpolatable.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTJazzHands.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTJazzHands.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTLabelAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTLabelAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTRotationAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTRotationAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTScaleAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTScaleAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTScrollViewPageConstraintAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTScrollViewPageConstraintAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTShapeLayerAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTShapeLayerAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTStrokeEndAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTStrokeEndAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTStrokeStartAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTStrokeStartAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTTextColorAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTTextColorAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTTransform3DAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTTransform3DAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTTranslationAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTTranslationAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/IFTTTViewAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTViewAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/JazzHands/UIView+IFTTTJazzHands.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/UIView+IFTTTJazzHands.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASCompositeConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASCompositeConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASConstraint+Private.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraint+Private.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASConstraintMaker.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraintMaker.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASLayoutConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASLayoutConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASUtilities.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASUtilities.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASViewAttribute.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASViewAttribute.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASViewConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASViewConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/Masonry.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/Masonry.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/NSArray+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSArray+MASAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/NSArray+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSArray+MASShorthandAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/NSLayoutConstraint+MASDebugAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/View+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/View+MASAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/View+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/View+MASShorthandAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/ViewController+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/ViewController+MASAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/NYXImagesKit/NYXImagesHelper.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Helper/NYXImagesHelper.h -------------------------------------------------------------------------------- /Pods/Headers/Private/NYXImagesKit/NYXImagesKit.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Helper/NYXImagesKit.h -------------------------------------------------------------------------------- /Pods/Headers/Private/NYXImagesKit/NYXProgressiveImageView.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Classes/NYXProgressiveImageView.h -------------------------------------------------------------------------------- /Pods/Headers/Private/NYXImagesKit/UIImage+Blurring.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIImage+Blurring.h -------------------------------------------------------------------------------- /Pods/Headers/Private/NYXImagesKit/UIImage+Enhancing.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIImage+Enhancing.h -------------------------------------------------------------------------------- /Pods/Headers/Private/NYXImagesKit/UIImage+Filtering.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIImage+Filtering.h -------------------------------------------------------------------------------- /Pods/Headers/Private/NYXImagesKit/UIImage+Masking.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIImage+Masking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/NYXImagesKit/UIImage+Reflection.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIImage+Reflection.h -------------------------------------------------------------------------------- /Pods/Headers/Private/NYXImagesKit/UIImage+Resizing.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIImage+Resizing.h -------------------------------------------------------------------------------- /Pods/Headers/Private/NYXImagesKit/UIImage+Rotating.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIImage+Rotating.h -------------------------------------------------------------------------------- /Pods/Headers/Private/NYXImagesKit/UIImage+Saving.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIImage+Saving.h -------------------------------------------------------------------------------- /Pods/Headers/Private/NYXImagesKit/UIScrollView+Screenshot.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIScrollView+Screenshot.h -------------------------------------------------------------------------------- /Pods/Headers/Private/NYXImagesKit/UIView+Screenshot.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIView+Screenshot.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/NSData+ImageContentType.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/NSData+ImageContentType.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDImageCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageCompat.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageCompat.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageDecoder.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageDecoder.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageDownloader.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageDownloader.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageDownloaderOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageDownloaderOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageManager.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImagePrefetcher.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImagePrefetcher.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIButton+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIButton+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIImage+GIF.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImage+GIF.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIImage+MultiFormat.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImage+MultiFormat.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIImageView+HighlightedWebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImageView+HighlightedWebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIImageView+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImageView+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIView+WebCacheOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIView+WebCacheOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SMPageControl/SMPageControl.h: -------------------------------------------------------------------------------- 1 | ../../../SMPageControl/SMPageControl.h -------------------------------------------------------------------------------- /Pods/Headers/Private/iCarousel/iCarousel.h: -------------------------------------------------------------------------------- 1 | ../../../iCarousel/iCarousel/iCarousel.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFHTTPRequestOperation.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPRequestOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFHTTPRequestOperationManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPRequestOperationManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFHTTPSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPSessionManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFNetworkActivityIndicatorManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFNetworkReachabilityManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworkReachabilityManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFSecurityPolicy.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFSecurityPolicy.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFURLConnectionOperation.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLConnectionOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFURLRequestSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLRequestSerialization.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFURLResponseSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLResponseSerialization.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFURLSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLSessionManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIActivityIndicatorView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIAlertView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIAlertView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIButton+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIImageView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIKit+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIProgressView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIRefreshControl+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIWebView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTAlphaAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTAlphaAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTAnimatable.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTAnimatable.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTAnimatedPagingScrollViewController.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTAnimatedPagingScrollViewController.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTAnimatedScrollViewController.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTAnimatedScrollViewController.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTAnimator.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTAnimator.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTColorAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTColorAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTConstraintConstantAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTConstraintConstantAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTConstraintMultiplierAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTConstraintMultiplierAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTCornerRadiusAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTCornerRadiusAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTEasingFunction.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTEasingFunction.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTFillColorAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTFillColorAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTFilmstrip.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTFilmstrip.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTFrameAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTFrameAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTHideAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTHideAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTInterpolatable.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTInterpolatable.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTJazzHands.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTJazzHands.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTLabelAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTLabelAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTRotationAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTRotationAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTScaleAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTScaleAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTScrollViewPageConstraintAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTScrollViewPageConstraintAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTShapeLayerAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTShapeLayerAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTStrokeEndAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTStrokeEndAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTStrokeStartAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTStrokeStartAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTTextColorAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTTextColorAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTTransform3DAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTTransform3DAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTTranslationAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTTranslationAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/IFTTTViewAnimation.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/IFTTTViewAnimation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/JazzHands/UIView+IFTTTJazzHands.h: -------------------------------------------------------------------------------- 1 | ../../../JazzHands/JazzHands/UIView+IFTTTJazzHands.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASCompositeConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASCompositeConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASConstraint+Private.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraint+Private.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASConstraintMaker.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraintMaker.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASLayoutConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASLayoutConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASUtilities.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASUtilities.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASViewAttribute.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASViewAttribute.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASViewConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASViewConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/Masonry.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/Masonry.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/NSArray+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSArray+MASAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/NSArray+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSArray+MASShorthandAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/NSLayoutConstraint+MASDebugAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/View+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/View+MASAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/View+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/View+MASShorthandAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/ViewController+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/ViewController+MASAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/NYXImagesKit/NYXImagesHelper.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Helper/NYXImagesHelper.h -------------------------------------------------------------------------------- /Pods/Headers/Public/NYXImagesKit/NYXImagesKit.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Helper/NYXImagesKit.h -------------------------------------------------------------------------------- /Pods/Headers/Public/NYXImagesKit/NYXProgressiveImageView.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Classes/NYXProgressiveImageView.h -------------------------------------------------------------------------------- /Pods/Headers/Public/NYXImagesKit/UIImage+Blurring.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIImage+Blurring.h -------------------------------------------------------------------------------- /Pods/Headers/Public/NYXImagesKit/UIImage+Enhancing.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIImage+Enhancing.h -------------------------------------------------------------------------------- /Pods/Headers/Public/NYXImagesKit/UIImage+Filtering.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIImage+Filtering.h -------------------------------------------------------------------------------- /Pods/Headers/Public/NYXImagesKit/UIImage+Masking.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIImage+Masking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/NYXImagesKit/UIImage+Reflection.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIImage+Reflection.h -------------------------------------------------------------------------------- /Pods/Headers/Public/NYXImagesKit/UIImage+Resizing.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIImage+Resizing.h -------------------------------------------------------------------------------- /Pods/Headers/Public/NYXImagesKit/UIImage+Rotating.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIImage+Rotating.h -------------------------------------------------------------------------------- /Pods/Headers/Public/NYXImagesKit/UIImage+Saving.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIImage+Saving.h -------------------------------------------------------------------------------- /Pods/Headers/Public/NYXImagesKit/UIScrollView+Screenshot.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIScrollView+Screenshot.h -------------------------------------------------------------------------------- /Pods/Headers/Public/NYXImagesKit/UIView+Screenshot.h: -------------------------------------------------------------------------------- 1 | ../../../NYXImagesKit/Categories/UIView+Screenshot.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/NSData+ImageContentType.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/NSData+ImageContentType.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDImageCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageCompat.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageCompat.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageDecoder.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageDecoder.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageDownloader.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageDownloader.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageDownloaderOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageDownloaderOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageManager.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImagePrefetcher.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImagePrefetcher.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIButton+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIButton+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIImage+GIF.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImage+GIF.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIImage+MultiFormat.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImage+MultiFormat.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIImageView+HighlightedWebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImageView+HighlightedWebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIImageView+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImageView+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIView+WebCacheOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIView+WebCacheOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SMPageControl/SMPageControl.h: -------------------------------------------------------------------------------- 1 | ../../../SMPageControl/SMPageControl.h -------------------------------------------------------------------------------- /Pods/Headers/Public/iCarousel/iCarousel.h: -------------------------------------------------------------------------------- 1 | ../../../iCarousel/iCarousel/iCarousel.h -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTAlphaAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTAlphaAnimation.h 3 | // JazzHands 4 | // 5 | // Created by Devin Foley on 9/27/13. 6 | // Copyright (c) 2013 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTViewAnimation.h" 10 | 11 | @interface IFTTTAlphaAnimation : IFTTTViewAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time alpha:(CGFloat)alpha; 14 | - (void)addKeyframeForTime:(CGFloat)time alpha:(CGFloat)alpha withEasingFunction:(IFTTTEasingFunction)easingFunction; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTAlphaAnimation.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTAlphaAnimation.m 3 | // JazzHands 4 | // 5 | // Created by Devin Foley on 9/27/13. 6 | // Copyright (c) 2013 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTAlphaAnimation.h" 10 | 11 | @implementation IFTTTAlphaAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time alpha:(CGFloat)alpha 14 | { 15 | if (![self validAlpha:alpha]) return; 16 | [self addKeyframeForTime:time value:@(alpha)]; 17 | } 18 | 19 | - (void)addKeyframeForTime:(CGFloat)time alpha:(CGFloat)alpha withEasingFunction:(IFTTTEasingFunction)easingFunction 20 | { 21 | if (![self validAlpha:alpha]) return; 22 | [self addKeyframeForTime:time value:@(alpha) withEasingFunction:easingFunction]; 23 | } 24 | 25 | - (BOOL)validAlpha:(CGFloat)alpha 26 | { 27 | NSAssert((alpha >= 0.f) && (alpha <= 1.f), @"Alpha values must be between zero and one."); 28 | if ((alpha < 0.f) || (alpha > 1.f)) return NO; 29 | return YES; 30 | } 31 | 32 | - (void)animate:(CGFloat)time 33 | { 34 | if (!self.hasKeyframes) return; 35 | self.view.alpha = (CGFloat)[(NSNumber *)[self valueAtTime:time] floatValue]; 36 | } 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTAnimatable.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTAnimatable.h 3 | // JazzHands 4 | // 5 | // Created by Laura Skelton on 6/17/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @protocol IFTTTAnimatable 12 | 13 | - (void)animate:(CGFloat)time; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTAnimatedPagingScrollViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTAnimatedPagingScrollViewController.h 3 | // JazzHands 4 | // 5 | // Created by Laura Skelton on 6/18/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | @class IFTTTAnimator; 11 | 12 | @interface IFTTTAnimatedPagingScrollViewController : UIViewController 13 | 14 | @property (nonatomic, strong) IFTTTAnimator *animator; 15 | @property (nonatomic, strong) UIScrollView *scrollView; 16 | @property (nonatomic, strong) UIView *contentView; 17 | @property (nonatomic, assign) NSUInteger numberOfPages; 18 | 19 | - (CGFloat)pageWidth; 20 | - (CGFloat)pageOffset; 21 | 22 | - (void)animateCurrentFrame; 23 | - (CGFloat)centerXMultiplierForPage:(CGFloat)page; 24 | 25 | - (void)keepView:(UIView *)view onPage:(CGFloat)page; 26 | - (void)keepView:(UIView *)view onPages:(NSArray *)pages; 27 | - (void)keepView:(UIView *)view onPages:(NSArray *)pages atTimes:(NSArray *)times; 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTAnimatedScrollViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTAnimatedScrollViewController.h 3 | // JazzHands 4 | // 5 | // Created by Devin Foley on 9/27/13. 6 | // Copyright (c) 2013 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | @class IFTTTAnimator; 11 | 12 | @protocol IFTTTAnimatedScrollViewControllerDelegate; 13 | 14 | @interface IFTTTAnimatedScrollViewController : UIViewController 15 | 16 | @property (nonatomic, weak) id delegate; 17 | 18 | @property (nonatomic, strong) IFTTTAnimator *animator; 19 | @property (nonatomic, strong) UIScrollView *scrollView; 20 | 21 | @end 22 | 23 | @protocol IFTTTAnimatedScrollViewControllerDelegate 24 | 25 | @optional 26 | 27 | /** 28 | * The user has scrolled to the last page of the scrollview. 29 | * 30 | * @param animatedScrollViewController the scroll view controller that's been scrolled 31 | */ 32 | - (void)animatedScrollViewControllerDidScrollToEnd:(IFTTTAnimatedScrollViewController *)animatedScrollViewController; 33 | 34 | /** 35 | * The user has released the scrollview (ended dragging) at the last page of the scrollview. 36 | * 37 | * @param animatedScrollViewController the scroll view controller that's been scrolled 38 | */ 39 | - (void)animatedScrollViewControllerDidEndDraggingAtEnd:(IFTTTAnimatedScrollViewController *)animatedScrollViewController; 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTAnimatedScrollViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTAnimatedScrollViewController.m 3 | // JazzHands 4 | // 5 | // Created by Devin Foley on 9/27/13. 6 | // Copyright (c) 2013 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTJazzHands.h" 10 | 11 | CG_INLINE CGFloat IFTTTMaxContentOffsetXForScrollView(UIScrollView *scrollView) 12 | { 13 | return scrollView.contentSize.width + scrollView.contentInset.right - CGRectGetWidth(scrollView.bounds); 14 | } 15 | 16 | @interface IFTTTAnimatedScrollViewController () 17 | 18 | @property (nonatomic, assign) BOOL isAtEnd; 19 | 20 | @end 21 | 22 | @implementation IFTTTAnimatedScrollViewController 23 | 24 | - (instancetype)init 25 | { 26 | if ((self = [super init])) { 27 | [self commonInit]; 28 | } 29 | 30 | return self; 31 | } 32 | 33 | - (instancetype)initWithCoder:(NSCoder *)aDecoder 34 | { 35 | if ((self = [super initWithCoder:aDecoder])) { 36 | [self commonInit]; 37 | } 38 | 39 | return self; 40 | } 41 | 42 | - (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 43 | { 44 | if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) { 45 | [self commonInit]; 46 | } 47 | 48 | return self; 49 | } 50 | 51 | - (void) commonInit { 52 | _isAtEnd = NO; 53 | self.animator = [IFTTTAnimator new]; 54 | } 55 | 56 | - (void)viewDidLoad 57 | { 58 | [super viewDidLoad]; 59 | 60 | self.scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds]; 61 | self.scrollView.delegate = self; 62 | [self.view addSubview:self.scrollView]; 63 | } 64 | 65 | - (void)scrollViewDidScroll:(UIScrollView *)aScrollView 66 | { 67 | [self.animator animate:aScrollView.contentOffset.x]; 68 | 69 | self.isAtEnd = (aScrollView.contentOffset.x >= IFTTTMaxContentOffsetXForScrollView(aScrollView)); 70 | 71 | id delegate = self.delegate; 72 | 73 | if (self.isAtEnd && [delegate respondsToSelector:@selector(animatedScrollViewControllerDidScrollToEnd:)]) { 74 | [delegate animatedScrollViewControllerDidScrollToEnd:self]; 75 | } 76 | } 77 | 78 | - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate 79 | { 80 | id delegate = self.delegate; 81 | 82 | if (self.isAtEnd && [delegate respondsToSelector:@selector(animatedScrollViewControllerDidEndDraggingAtEnd:)]) { 83 | [delegate animatedScrollViewControllerDidEndDraggingAtEnd:self]; 84 | } 85 | } 86 | 87 | @end 88 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTAnimation.h 3 | // JazzHands 4 | // 5 | // Created by Devin Foley on 9/27/13. 6 | // Copyright (c) 2013 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "IFTTTEasingFunction.h" 11 | #import "IFTTTInterpolatable.h" 12 | #import "IFTTTAnimatable.h" 13 | 14 | @interface IFTTTAnimation : NSObject 15 | 16 | - (void)addKeyframeForTime:(CGFloat)time value:(id)value; 17 | - (void)addKeyframeForTime:(CGFloat)time value:(id)value withEasingFunction:(IFTTTEasingFunction)easingFunction; 18 | - (id)valueAtTime:(CGFloat)time; 19 | - (BOOL)hasKeyframes; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTAnimation.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTAnimation.m 3 | // JazzHands 4 | // 5 | // Created by Devin Foley on 9/27/13. 6 | // Copyright (c) 2013 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTAnimation.h" 10 | #import "IFTTTFilmstrip.h" 11 | 12 | @interface IFTTTAnimation () 13 | 14 | @property (nonatomic, strong) IFTTTFilmstrip *filmstrip; 15 | 16 | @end 17 | 18 | @implementation IFTTTAnimation 19 | 20 | - (instancetype)init 21 | { 22 | if ((self = [super init])) { 23 | _filmstrip = [IFTTTFilmstrip new]; 24 | } 25 | return self; 26 | } 27 | 28 | - (void)addKeyframeForTime:(CGFloat)time value:(id)value 29 | { 30 | if (!value) return; 31 | [self.filmstrip setValue:value atTime:time]; 32 | } 33 | 34 | - (void)addKeyframeForTime:(CGFloat)time value:(id)value withEasingFunction:(IFTTTEasingFunction)easingFunction 35 | { 36 | if ((!value) || (!easingFunction)) return; 37 | [self.filmstrip setValue:value atTime:time withEasingFunction:easingFunction]; 38 | } 39 | 40 | - (id)valueAtTime:(CGFloat)time 41 | { 42 | if (self.filmstrip.isEmpty) return nil; 43 | return [self.filmstrip valueAtTime:time]; 44 | } 45 | 46 | - (BOOL)hasKeyframes 47 | { 48 | return !self.filmstrip.isEmpty; 49 | } 50 | 51 | @end 52 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTAnimator.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTAnimator.h 3 | // JazzHands 4 | // 5 | // Created by Devin Foley on 9/28/13. 6 | // Copyright (c) 2013 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | @protocol IFTTTAnimatable; 10 | 11 | @interface IFTTTAnimator : NSObject 12 | 13 | - (void)addAnimation:(id)animation; 14 | - (void)animate:(CGFloat)time; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTAnimator.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTAnimator.m 3 | // JazzHands 4 | // 5 | // Created by Devin Foley on 9/28/13. 6 | // Copyright (c) 2013 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTAnimator.h" 10 | #import "IFTTTAnimatable.h" 11 | 12 | @interface IFTTTAnimator () 13 | 14 | @property (nonatomic, strong) NSMutableArray *animations; 15 | 16 | @end 17 | 18 | @implementation IFTTTAnimator 19 | 20 | - (instancetype)init 21 | { 22 | if ((self = [super init])) { 23 | self.animations = [NSMutableArray new]; 24 | } 25 | return self; 26 | } 27 | 28 | - (void)animate:(CGFloat)time 29 | { 30 | for (id animation in self.animations) { 31 | [animation animate:time]; 32 | } 33 | } 34 | 35 | - (void)addAnimation:(id)animation 36 | { 37 | [self.animations addObject:animation]; 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTColorAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTColorAnimation.h 3 | // IFTTT 4 | // 5 | // Created by Max Meyers on 10/10/13. 6 | // Copyright (c) 2013 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTViewAnimation.h" 10 | 11 | @interface IFTTTColorAnimation : IFTTTViewAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color; 14 | - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color withEasingFunction:(IFTTTEasingFunction)easingFunction; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTColorAnimation.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTColorAnimation.m 3 | // IFTTT 4 | // 5 | // Created by Max Meyers on 10/10/13. 6 | // Copyright (c) 2013 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTColorAnimation.h" 10 | 11 | @implementation IFTTTColorAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color 14 | { 15 | if (![self validColor:color]) return; 16 | [self addKeyframeForTime:time value:color]; 17 | } 18 | 19 | - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color withEasingFunction:(IFTTTEasingFunction)easingFunction 20 | { 21 | if (![self validColor:color]) return; 22 | [self addKeyframeForTime:time value:color withEasingFunction:easingFunction]; 23 | } 24 | 25 | - (BOOL)validColor:(UIColor *)color 26 | { 27 | NSAssert((color != nil), @"Color must not be nil."); 28 | if (!color) return NO; 29 | return YES; 30 | } 31 | 32 | - (void)animate:(CGFloat)time 33 | { 34 | if (!self.hasKeyframes) return; 35 | self.view.backgroundColor = (UIColor *)[self valueAtTime:time]; 36 | } 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTConstraintConstantAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTConstraintConstantAnimation.h 3 | // JazzHands 4 | // 5 | // Created by willsbor Kang on 7/9/14. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTAnimation.h" 10 | 11 | @interface IFTTTConstraintConstantAnimation : IFTTTAnimation 12 | 13 | - (instancetype)initWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint NS_DESIGNATED_INITIALIZER; 14 | + (instancetype)animationWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint; 15 | - (void)addKeyframeForTime:(CGFloat)time constant:(CGFloat)constant; 16 | - (void)addKeyframeForTime:(CGFloat)time constant:(CGFloat)constant withEasingFunction:(IFTTTEasingFunction)easingFunction; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTConstraintConstantAnimation.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTConstraintConstantAnimation.m 3 | // JazzHands 4 | // 5 | // Created by willsbor Kang on 7/9/14. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTConstraintConstantAnimation.h" 10 | 11 | @interface IFTTTConstraintConstantAnimation () 12 | 13 | @property (nonatomic, strong) UIView *superview; 14 | @property (nonatomic, strong) NSLayoutConstraint *constraint; 15 | 16 | @end 17 | 18 | @implementation IFTTTConstraintConstantAnimation 19 | 20 | - (instancetype)initWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint 21 | { 22 | if ((self = [super init])) { 23 | _superview = superview; 24 | _constraint = constraint; 25 | } 26 | return self; 27 | } 28 | 29 | + (instancetype)animationWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint 30 | { 31 | return [[self alloc] initWithSuperview:superview constraint:constraint]; 32 | } 33 | 34 | - (void)addKeyframeForTime:(CGFloat)time constant:(CGFloat)constant 35 | { 36 | [self addKeyframeForTime:time value:@(constant)]; 37 | } 38 | 39 | - (void)addKeyframeForTime:(CGFloat)time constant:(CGFloat)constant withEasingFunction:(IFTTTEasingFunction)easingFunction 40 | { 41 | [self addKeyframeForTime:time value:@(constant) withEasingFunction:easingFunction]; 42 | } 43 | 44 | - (void)animate:(CGFloat)time 45 | { 46 | if (!self.hasKeyframes) return; 47 | self.constraint.constant = (CGFloat)[(NSNumber *)[self valueAtTime:time] floatValue]; 48 | [self.superview layoutIfNeeded]; 49 | } 50 | 51 | @end 52 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTConstraintMultiplierAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTConstraintMultiplierAnimation.h 3 | // JazzHands 4 | // 5 | // Created by Laura Skelton on 6/18/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTAnimation.h" 10 | 11 | typedef NS_ENUM(NSUInteger, IFTTTLayoutAttribute) { 12 | IFTTTLayoutAttributeOriginX, 13 | IFTTTLayoutAttributeOriginY, 14 | IFTTTLayoutAttributeCenterX, 15 | IFTTTLayoutAttributeCenterY, 16 | IFTTTLayoutAttributeWidth, 17 | IFTTTLayoutAttributeHeight 18 | }; 19 | 20 | @interface IFTTTConstraintMultiplierAnimation : IFTTTAnimation 21 | 22 | - (instancetype)initWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint attribute:(IFTTTLayoutAttribute)attribute referenceView:(UIView *)referenceView; 23 | - (instancetype)initWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint attribute:(IFTTTLayoutAttribute)attribute referenceView:(UIView *)referenceView constant:(CGFloat)constant NS_DESIGNATED_INITIALIZER; 24 | + (instancetype)animationWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint attribute:(IFTTTLayoutAttribute)attribute referenceView:(UIView *)referenceView; 25 | + (instancetype)animationWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint attribute:(IFTTTLayoutAttribute)attribute referenceView:(UIView *)referenceView constant:(CGFloat)constant; 26 | - (void)addKeyframeForTime:(CGFloat)time multiplier:(CGFloat)multiplier; 27 | - (void)addKeyframeForTime:(CGFloat)time multiplier:(CGFloat)multiplier withEasingFunction:(IFTTTEasingFunction)easingFunction; 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTCornerRadiusAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTCornerRadiusAnimation.h 3 | // JazzHands 4 | // 5 | // Created by Nuno Gonçalves on 3/8/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTViewAnimation.h" 10 | 11 | @interface IFTTTCornerRadiusAnimation : IFTTTViewAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time cornerRadius:(CGFloat)cornerRadius; 14 | - (void)addKeyframeForTime:(CGFloat)time cornerRadius:(CGFloat)cornerRadius withEasingFunction:(IFTTTEasingFunction)easingFunction; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTCornerRadiusAnimation.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTCornerRadiusAnimation.m 3 | // JazzHands 4 | // 5 | // Created by Nuno Gonçalves on 3/8/13. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTCornerRadiusAnimation.h" 10 | 11 | @implementation IFTTTCornerRadiusAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time cornerRadius:(CGFloat)cornerRadius 14 | { 15 | if (![self validRadius:cornerRadius]) return; 16 | [self addKeyframeForTime:time value:@(cornerRadius)]; 17 | } 18 | 19 | - (void)addKeyframeForTime:(CGFloat)time cornerRadius:(CGFloat)cornerRadius withEasingFunction:(IFTTTEasingFunction)easingFunction 20 | { 21 | if (![self validRadius:cornerRadius]) return; 22 | [self addKeyframeForTime:time value:@(cornerRadius) withEasingFunction:easingFunction]; 23 | } 24 | 25 | - (BOOL)validRadius:(CGFloat)radius 26 | { 27 | NSAssert((radius >= 0.f), @"Corner radius must be greater than or equal to zero."); 28 | if (!(radius >= 0.f)) return NO; 29 | return YES; 30 | } 31 | 32 | - (void)animate:(CGFloat)time 33 | { 34 | if (!self.hasKeyframes) return; 35 | self.view.layer.cornerRadius = (CGFloat)[(NSNumber *)[self valueAtTime:time] floatValue]; 36 | } 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTEasingFunction.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTEasingFunction.h 3 | // JazzHands 4 | // 5 | // Created by Felix Jendrusch on 1/9/15. 6 | // 7 | // 8 | 9 | /** 10 | * Easing functions specify the rate of change in your animations over time. 11 | * Several standard easings are provided here. To explore these, and discover others, 12 | * check out http://easings.net 13 | */ 14 | 15 | // Copied from Robert Böhnke's RBBAnimation, original available here: 16 | // 17 | 18 | #import 19 | #import 20 | 21 | typedef CGFloat (^IFTTTEasingFunction) (CGFloat t); 22 | 23 | UIKIT_EXTERN IFTTTEasingFunction const IFTTTEasingFunctionLinear; 24 | 25 | UIKIT_EXTERN IFTTTEasingFunction const IFTTTEasingFunctionEaseInQuad; 26 | UIKIT_EXTERN IFTTTEasingFunction const IFTTTEasingFunctionEaseOutQuad; 27 | UIKIT_EXTERN IFTTTEasingFunction const IFTTTEasingFunctionEaseInOutQuad; 28 | 29 | UIKIT_EXTERN IFTTTEasingFunction const IFTTTEasingFunctionEaseInCubic; 30 | UIKIT_EXTERN IFTTTEasingFunction const IFTTTEasingFunctionEaseOutCubic; 31 | UIKIT_EXTERN IFTTTEasingFunction const IFTTTEasingFunctionEaseInOutCubic; 32 | 33 | UIKIT_EXTERN IFTTTEasingFunction const IFTTTEasingFunctionEaseInBounce; 34 | UIKIT_EXTERN IFTTTEasingFunction const IFTTTEasingFunctionEaseOutBounce; 35 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTEasingFunction.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTEasingFunction.m 3 | // JazzHands 4 | // 5 | // Created by Felix Jendrusch on 1/9/15. 6 | // 7 | // 8 | 9 | // Copied from Robert Böhnke's RBBAnimation, original available here: 10 | // 11 | 12 | #import "IFTTTEasingFunction.h" 13 | 14 | CG_INLINE CGFLOAT_TYPE IFTTTJazzHandsPow(CGFLOAT_TYPE aFloat, CGFLOAT_TYPE aPower) { 15 | #if CGFLOAT_IS_DOUBLE 16 | return pow(aFloat, aPower); 17 | #else 18 | return powf(aFloat, aPower); 19 | #endif 20 | }; 21 | 22 | IFTTTEasingFunction const IFTTTEasingFunctionLinear = ^CGFloat(CGFloat t) { 23 | return t; 24 | }; 25 | 26 | IFTTTEasingFunction const IFTTTEasingFunctionEaseInQuad = ^CGFloat(CGFloat t) { 27 | return t * t; 28 | }; 29 | 30 | IFTTTEasingFunction const IFTTTEasingFunctionEaseOutQuad = ^CGFloat(CGFloat t) { 31 | return t * (2 - t); 32 | }; 33 | 34 | IFTTTEasingFunction const IFTTTEasingFunctionEaseInOutQuad = ^CGFloat(CGFloat t) { 35 | if (t < 0.5f) { 36 | return 2 * t * t; 37 | } else { 38 | return -1 + (4 - 2 * t) * t; 39 | } 40 | }; 41 | 42 | IFTTTEasingFunction const IFTTTEasingFunctionEaseInCubic = ^CGFloat(CGFloat t) { 43 | return t * t * t; 44 | }; 45 | 46 | IFTTTEasingFunction const IFTTTEasingFunctionEaseOutCubic = ^CGFloat(CGFloat t) { 47 | return IFTTTJazzHandsPow(t - 1, 3) + 1; 48 | }; 49 | 50 | IFTTTEasingFunction const IFTTTEasingFunctionEaseInOutCubic = ^CGFloat(CGFloat t) { 51 | if (t < 0.5f) { 52 | return 4 * IFTTTJazzHandsPow(t, 3); 53 | } else { 54 | return (t - 1) * IFTTTJazzHandsPow(2 * t - 2, 2) + 1; 55 | } 56 | }; 57 | 58 | IFTTTEasingFunction const IFTTTEasingFunctionEaseInBounce = ^CGFloat(CGFloat t) { 59 | return 1.f - IFTTTEasingFunctionEaseOutBounce(1.0 - t); 60 | }; 61 | 62 | IFTTTEasingFunction const IFTTTEasingFunctionEaseOutBounce = ^CGFloat(CGFloat t) { 63 | if (t < 4.f / 11.f) { 64 | return IFTTTJazzHandsPow(11.f / 4.f, 2) * IFTTTJazzHandsPow(t, 2); 65 | } 66 | 67 | if (t < 8.f / 11.f) { 68 | return 3.0 / 4.0 + IFTTTJazzHandsPow(11.f / 4.f, 2) * IFTTTJazzHandsPow(t - 6.f / 11.f, 2); 69 | } 70 | 71 | if (t < 10.f / 11.0f) { 72 | return 15.f / 16.f + IFTTTJazzHandsPow(11.f / 4.f, 2) * IFTTTJazzHandsPow(t - 9.f / 11.f, 2); 73 | } 74 | 75 | return 63.f / 64.f + IFTTTJazzHandsPow(11.f / 4.f, 2) * IFTTTJazzHandsPow(t - 21.f / 22.f, 2); 76 | }; 77 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTFillColorAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTFillColorAnimation.h 3 | // JazzHands 4 | // 5 | // Created by Pierluigi D'Andrea on 07/05/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTShapeLayerAnimation.h" 10 | 11 | @interface IFTTTFillColorAnimation : IFTTTShapeLayerAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color; 14 | - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color withEasingFunction:(IFTTTEasingFunction)easingFunction; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTFillColorAnimation.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTFillColorAnimation.m 3 | // JazzHands 4 | // 5 | // Created by Pierluigi D'Andrea on 07/05/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTFillColorAnimation.h" 10 | 11 | @implementation IFTTTFillColorAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color 14 | { 15 | if (![self validColor:color]) return; 16 | [self addKeyframeForTime:time value:color]; 17 | } 18 | 19 | - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color withEasingFunction:(IFTTTEasingFunction)easingFunction 20 | { 21 | if (![self validColor:color]) return; 22 | [self addKeyframeForTime:time value:color withEasingFunction:easingFunction]; 23 | } 24 | 25 | - (BOOL)validColor:(UIColor *)color 26 | { 27 | NSAssert((color != nil), @"Color must not be nil."); 28 | if (!color) return NO; 29 | return YES; 30 | } 31 | 32 | - (void)animate:(CGFloat)time 33 | { 34 | if (!self.hasKeyframes) return; 35 | self.layer.fillColor = ((UIColor *)[self valueAtTime:time]).CGColor; 36 | } 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTFilmstrip.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTFilmstrip.h 3 | // JazzHands 4 | // 5 | // Created by Laura Skelton on 6/17/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "IFTTTEasingFunction.h" 11 | #import "IFTTTInterpolatable.h" 12 | 13 | @interface IFTTTFilmstrip : NSObject 14 | 15 | - (BOOL)isEmpty; 16 | - (void)setValue:(id)value atTime:(CGFloat)time; 17 | - (void)setValue:(id)value atTime:(CGFloat)time withEasingFunction:(IFTTTEasingFunction)easingFunction; 18 | - (id)valueAtTime:(CGFloat)time; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTFrameAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTFrameAnimation.h 3 | // JazzHands 4 | // 5 | // Created by Devin Foley on 9/27/13. 6 | // Copyright (c) 2013 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTViewAnimation.h" 10 | 11 | @interface IFTTTFrameAnimation : IFTTTViewAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time frame:(CGRect)frame; 14 | - (void)addKeyframeForTime:(CGFloat)time frame:(CGRect)frame withEasingFunction:(IFTTTEasingFunction)easingFunction; 15 | 16 | @end -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTFrameAnimation.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTFrameAnimation.m 3 | // JazzHands 4 | // 5 | // Created by Devin Foley on 9/27/13. 6 | // Copyright (c) 2013 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTFrameAnimation.h" 10 | 11 | @implementation IFTTTFrameAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time frame:(CGRect)frame 14 | { 15 | if (![self validFrame:frame]) return; 16 | [self addKeyframeForTime:time value:[NSValue valueWithCGRect:frame]]; 17 | } 18 | 19 | - (void)addKeyframeForTime:(CGFloat)time frame:(CGRect)frame withEasingFunction:(IFTTTEasingFunction)easingFunction 20 | { 21 | if (![self validFrame:frame]) return; 22 | [self addKeyframeForTime:time value:[NSValue valueWithCGRect:frame] withEasingFunction:easingFunction]; 23 | } 24 | 25 | - (BOOL)validFrame:(CGRect)frame 26 | { 27 | NSAssert((CGRectGetWidth(frame) >= 0.f) && (CGRectGetHeight(frame) >= 0.f), @"Frame width and height must be greater than or equal to zero."); 28 | if (!((CGRectGetWidth(frame) >= 0.f) && (CGRectGetHeight(frame) >= 0.f))) return NO; 29 | return YES; 30 | } 31 | 32 | - (void)animate:(CGFloat)time 33 | { 34 | if (!self.hasKeyframes) return; 35 | 36 | // Store the current transform 37 | CGAffineTransform tempTransform = self.view.transform; 38 | 39 | // Reset transform to avoid warping 40 | self.view.transform = CGAffineTransformIdentity; 41 | self.view.frame = (CGRect)[(NSValue *)[self valueAtTime:time] CGRectValue]; 42 | 43 | // Return to original transform 44 | self.view.transform = tempTransform; 45 | } 46 | 47 | @end 48 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTHideAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTHideAnimation.h 3 | // JazzHands 4 | // 5 | // Created by Devin Foley on 9/28/13. 6 | // Copyright (c) 2013 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTAnimation.h" 10 | 11 | @interface IFTTTHideAnimation : IFTTTAnimation 12 | 13 | + (instancetype)animationWithView:(UIView *)view hideAt:(CGFloat)time; 14 | + (instancetype)animationWithView:(UIView *)view showAt:(CGFloat)time; 15 | 16 | - (instancetype)initWithView:(UIView *)view hideAt:(CGFloat)time; 17 | - (instancetype)initWithView:(UIView *)view showAt:(CGFloat)time; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTHideAnimation.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTHideAnimation.m 3 | // JazzHands 4 | // 5 | // Created by Devin Foley on 9/28/13. 6 | // Copyright (c) 2013 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTHideAnimation.h" 10 | 11 | @interface IFTTTHideAnimation () 12 | 13 | @property (nonatomic, strong) UIView *view; 14 | 15 | @end 16 | 17 | @implementation IFTTTHideAnimation 18 | 19 | + (instancetype)animationWithView:(UIView *)view hideAt:(CGFloat)time 20 | { 21 | IFTTTHideAnimation *animation = [[[self class] alloc] initWithView:view 22 | hideAt:time]; 23 | return animation; 24 | } 25 | 26 | + (instancetype)animationWithView:(UIView *)view showAt:(CGFloat)time 27 | { 28 | IFTTTHideAnimation *animation = [[[self class] alloc] initWithView:view 29 | showAt:time]; 30 | return animation; 31 | } 32 | 33 | - (instancetype)initWithView:(UIView *)view hideAt:(CGFloat)time 34 | { 35 | if((self = [super init])) { 36 | _view = view; 37 | [self addKeyframeForTime:time value:@(NO)]; 38 | [self addKeyframeForTime:time + 1 value:@(YES)]; 39 | } 40 | return self; 41 | } 42 | 43 | - (instancetype)initWithView:(UIView *)view showAt:(CGFloat)time 44 | { 45 | if((self = [super init])) { 46 | _view = view; 47 | [self addKeyframeForTime:time value:@(YES)]; 48 | [self addKeyframeForTime:time + 1 value:@(NO)]; 49 | } 50 | return self; 51 | } 52 | 53 | - (void)animate:(CGFloat)time 54 | { 55 | if (!self.hasKeyframes) return; 56 | self.view.hidden = (BOOL)[(NSNumber *)[self valueAtTime:time] boolValue]; 57 | } 58 | 59 | @end 60 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTInterpolatable.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTInterpolatable.h 3 | // JazzHands 4 | // 5 | // Created by Laura Skelton on 6/17/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #pragma mark - IFTTTInterpolatable 12 | 13 | @protocol IFTTTInterpolatable 14 | 15 | - (id)interpolateTo:(id)toValue withProgress:(CGFloat)progress; 16 | 17 | @end 18 | 19 | #pragma mark - NSNumber (IFTTTInterpolatable) 20 | 21 | @interface NSNumber (IFTTTInterpolatable) 22 | 23 | + (CGFloat)interpolateCGFloatFrom:(CGFloat)fromValue to:(CGFloat)toValue withProgress:(CGFloat)progress; 24 | 25 | @end 26 | 27 | #pragma mark - UIColor (IFTTTInterpolatable) 28 | 29 | @interface UIColor (IFTTTInterpolatable) 30 | 31 | @end 32 | 33 | #pragma mark - NSValue (IFTTTInterpolatable) 34 | 35 | @interface NSValue (IFTTTInterpolatable) 36 | 37 | + (CGPoint)interpolateCGPointFrom:(CGPoint)fromValue to:(CGPoint)toValue withProgress:(CGFloat)progress; 38 | 39 | + (CGSize)interpolateCGSizeFrom:(CGSize)fromValue to:(CGSize)toValue withProgress:(CGFloat)progress; 40 | 41 | + (CGRect)interpolateCGRectFrom:(CGRect)fromValue to:(CGRect)toValue withProgress:(CGFloat)progress; 42 | 43 | + (CGVector)interpolateCGVectorFrom:(CGVector)fromValue to:(CGVector)toValue withProgress:(CGFloat)progress; 44 | 45 | + (UIEdgeInsets)interpolateUIEdgeInsetsFrom:(UIEdgeInsets)fromValue to:(UIEdgeInsets)toValue withProgress:(CGFloat)progress; 46 | 47 | + (UIOffset)interpolateUIOffsetFrom:(UIOffset)fromValue to:(UIOffset)toValue withProgress:(CGFloat)progress; 48 | 49 | + (CGAffineTransform)interpolateCGAffineTransformFrom:(CGAffineTransform)fromValue to:(CGAffineTransform)toValue withProgress:(CGFloat)progress; 50 | 51 | @end 52 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTJazzHands.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTJazzHands.h 3 | // JazzHands 4 | // 5 | // Created by Devin Foley on 9/28/13. 6 | // Copyright (c) 2013 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #pragma once 10 | 11 | #import 12 | #import 13 | 14 | #import "IFTTTAnimator.h" 15 | #import "IFTTTInterpolatable.h" 16 | #import "IFTTTAnimatable.h" 17 | #import "IFTTTFilmstrip.h" 18 | #import "IFTTTViewAnimation.h" 19 | #import "IFTTTShapeLayerAnimation.h" 20 | #import "IFTTTLabelAnimation.h" 21 | 22 | #import "IFTTTAnimatedScrollViewController.h" 23 | #import "IFTTTAnimatedPagingScrollViewController.h" 24 | 25 | #import "IFTTTAlphaAnimation.h" 26 | #import "IFTTTCornerRadiusAnimation.h" 27 | #import "IFTTTFrameAnimation.h" 28 | #import "IFTTTHideAnimation.h" 29 | #import "IFTTTColorAnimation.h" 30 | #import "IFTTTRotationAnimation.h" 31 | #import "IFTTTScaleAnimation.h" 32 | #import "IFTTTTranslationAnimation.h" 33 | #import "IFTTTTransform3DAnimation.h" 34 | #import "IFTTTStrokeStartAnimation.h" 35 | #import "IFTTTStrokeEndAnimation.h" 36 | #import "IFTTTFillColorAnimation.h" 37 | #import "IFTTTTextColorAnimation.h" 38 | #import "IFTTTConstraintConstantAnimation.h" 39 | #import "IFTTTScrollViewPageConstraintAnimation.h" 40 | #import "IFTTTConstraintMultiplierAnimation.h" 41 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTLabelAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTLabelAnimation.h 3 | // JazzHands 4 | // 5 | // Created by Laura Skelton on 6/18/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTAnimation.h" 10 | 11 | @interface IFTTTLabelAnimation : IFTTTAnimation 12 | 13 | @property (nonatomic, strong, readonly) UILabel *label; 14 | 15 | - (instancetype)initWithLabel:(UILabel *)label NS_DESIGNATED_INITIALIZER; 16 | + (instancetype)animationWithLabel:(UILabel *)label; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTLabelAnimation.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTLabelAnimation.m 3 | // JazzHands 4 | // 5 | // Created by Laura Skelton on 6/18/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTLabelAnimation.h" 10 | 11 | @interface IFTTTLabelAnimation () 12 | 13 | @property (nonatomic, strong, readwrite) UILabel *label; 14 | 15 | @end 16 | 17 | @implementation IFTTTLabelAnimation 18 | 19 | - (instancetype)initWithLabel:(UILabel *)label 20 | { 21 | if ((self = [super init])) { 22 | _label = label; 23 | } 24 | return self; 25 | } 26 | 27 | + (instancetype)animationWithLabel:(UILabel *)label 28 | { 29 | return [[self alloc] initWithLabel:label]; 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTRotationAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTRotationAnimation.h 3 | // JazzHands 4 | // 5 | // Created by Vahur Roosimaa on 12/7/13. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTViewAnimation.h" 10 | 11 | @interface IFTTTRotationAnimation : IFTTTViewAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time rotation:(CGFloat)degrees; 14 | - (void)addKeyframeForTime:(CGFloat)time rotation:(CGFloat)degrees withEasingFunction:(IFTTTEasingFunction)easingFunction; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTRotationAnimation.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTRotationAnimation.m 3 | // JazzHands 4 | // 5 | // Created by Vahur Roosimaa on 12/7/13. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTRotationAnimation.h" 10 | #import "UIView+IFTTTJazzHands.h" 11 | 12 | @implementation IFTTTRotationAnimation 13 | 14 | - (void)addKeyframeForTime:(CGFloat)time rotation:(CGFloat)degrees 15 | { 16 | [self addKeyframeForTime:time value:@(degrees)]; 17 | } 18 | 19 | - (void)addKeyframeForTime:(CGFloat)time rotation:(CGFloat)degrees withEasingFunction:(IFTTTEasingFunction)easingFunction 20 | { 21 | [self addKeyframeForTime:time value:@(degrees) withEasingFunction:easingFunction]; 22 | } 23 | 24 | - (void)animate:(CGFloat)time 25 | { 26 | if (!self.hasKeyframes) return; 27 | CGFloat degrees = (CGFloat)[(NSNumber *)[self valueAtTime:time] floatValue]; 28 | CGFloat radians = degrees * (CGFloat)(M_PI / -180.0); 29 | CGAffineTransform rotationTransform = CGAffineTransformMakeRotation(radians); 30 | self.view.iftttRotationTransform = [NSValue valueWithCGAffineTransform:rotationTransform]; 31 | CGAffineTransform newTransform = rotationTransform; 32 | if (self.view.iftttScaleTransform) { 33 | newTransform = CGAffineTransformConcat(newTransform, [self.view.iftttScaleTransform CGAffineTransformValue]); 34 | } 35 | if (self.view.iftttTranslationTransform) { 36 | newTransform = CGAffineTransformConcat(newTransform, [self.view.iftttTranslationTransform CGAffineTransformValue]); 37 | } 38 | self.view.transform = newTransform; 39 | } 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTScaleAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTScaleAnimation.h 3 | // JazzHands 4 | // 5 | // Created by Steven Mok on 1/10/14. 6 | // Copyright (c) 2014 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTViewAnimation.h" 10 | 11 | @interface IFTTTScaleAnimation : IFTTTViewAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time scale:(CGFloat)scale; 14 | - (void)addKeyframeForTime:(CGFloat)time scale:(CGFloat)scale withEasingFunction:(IFTTTEasingFunction)easingFunction; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTScaleAnimation.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTScaleAnimation.m 3 | // JazzHands 4 | // 5 | // Created by Steven Mok on 1/10/14. 6 | // Copyright (c) 2014 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTScaleAnimation.h" 10 | #import "UIView+IFTTTJazzHands.h" 11 | 12 | @implementation IFTTTScaleAnimation 13 | 14 | - (void)addKeyframeForTime:(CGFloat)time scale:(CGFloat)scale 15 | { 16 | if (![self validScale:scale]) return; 17 | [self addKeyframeForTime:time value:@(scale)]; 18 | } 19 | 20 | - (void)addKeyframeForTime:(CGFloat)time scale:(CGFloat)scale withEasingFunction:(IFTTTEasingFunction)easingFunction 21 | { 22 | if (![self validScale:scale]) return; 23 | [self addKeyframeForTime:time value:@(scale) withEasingFunction:easingFunction]; 24 | } 25 | 26 | - (BOOL)validScale:(CGFloat)scale 27 | { 28 | NSAssert((scale > 0), @"Scale must be greater than zero."); 29 | if (!(scale > 0)) return NO; 30 | return YES; 31 | } 32 | 33 | - (void)animate:(CGFloat)time 34 | { 35 | if (!self.hasKeyframes) return; 36 | CGFloat scale = (CGFloat)[(NSNumber *)[self valueAtTime:time] floatValue]; 37 | CGAffineTransform scaleTransform = CGAffineTransformMakeScale(scale, scale); 38 | self.view.iftttScaleTransform = [NSValue valueWithCGAffineTransform:scaleTransform]; 39 | CGAffineTransform newTransform = scaleTransform; 40 | if (self.view.iftttRotationTransform) { 41 | newTransform = CGAffineTransformConcat(newTransform, [self.view.iftttRotationTransform CGAffineTransformValue]); 42 | } 43 | if (self.view.iftttTranslationTransform) { 44 | newTransform = CGAffineTransformConcat(newTransform, [self.view.iftttTranslationTransform CGAffineTransformValue]); 45 | } 46 | self.view.transform = newTransform; 47 | } 48 | 49 | @end 50 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTScrollViewPageConstraintAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTScrollViewPageConstraintAnimation.h 3 | // JazzHands 4 | // 5 | // Created by Laura Skelton on 6/18/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTAnimation.h" 10 | 11 | @interface IFTTTScrollViewPageConstraintAnimation : IFTTTAnimation 12 | 13 | @property (nonatomic, assign) CGFloat pageWidth; 14 | 15 | - (instancetype)initWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint pageWidth:(CGFloat)pageWidth NS_DESIGNATED_INITIALIZER; 16 | + (instancetype)animationWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint pageWidth:(CGFloat)pageWidth; 17 | - (void)addKeyframeForTime:(CGFloat)time page:(CGFloat)page; 18 | - (void)addKeyframeForTime:(CGFloat)time page:(CGFloat)page withEasingFunction:(IFTTTEasingFunction)easingFunction; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTScrollViewPageConstraintAnimation.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTScrollViewPageConstraintAnimation.m 3 | // JazzHands 4 | // 5 | // Created by Laura Skelton on 6/18/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTScrollViewPageConstraintAnimation.h" 10 | 11 | @interface IFTTTScrollViewPageConstraintAnimation () 12 | 13 | @property (nonatomic, strong) UIView *superview; 14 | @property (nonatomic, strong) NSLayoutConstraint *constraint; 15 | 16 | @end 17 | 18 | @implementation IFTTTScrollViewPageConstraintAnimation 19 | 20 | - (instancetype)initWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint pageWidth:(CGFloat)pageWidth 21 | { 22 | if ((self = [super init])) { 23 | _superview = superview; 24 | _constraint = constraint; 25 | _pageWidth = pageWidth; 26 | } 27 | return self; 28 | } 29 | 30 | + (instancetype)animationWithSuperview:(UIView *)superview constraint:(NSLayoutConstraint *)constraint pageWidth:(CGFloat)pageWidth 31 | { 32 | return [[self alloc] initWithSuperview:superview constraint:constraint pageWidth:pageWidth]; 33 | } 34 | 35 | - (void)addKeyframeForTime:(CGFloat)time page:(CGFloat)page 36 | { 37 | [self addKeyframeForTime:time value:@(page)]; 38 | } 39 | 40 | - (void)addKeyframeForTime:(CGFloat)time page:(CGFloat)page withEasingFunction:(IFTTTEasingFunction)easingFunction 41 | { 42 | [self addKeyframeForTime:time value:@(page) withEasingFunction:easingFunction]; 43 | } 44 | 45 | - (void)animate:(CGFloat)time 46 | { 47 | if (!self.hasKeyframes) return; 48 | CGFloat page = (CGFloat)[(NSNumber *)[self valueAtTime:time] floatValue]; 49 | self.constraint.constant = (0.5f + page) * self.pageWidth; 50 | [self.superview layoutIfNeeded]; 51 | } 52 | 53 | @end 54 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTShapeLayerAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTShapeLayerAnimation.h 3 | // JazzHands 4 | // 5 | // Created by Laura Skelton on 6/17/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTAnimation.h" 10 | 11 | @interface IFTTTShapeLayerAnimation : IFTTTAnimation 12 | 13 | @property (nonatomic, strong, readonly) CAShapeLayer *layer; 14 | 15 | - (instancetype)initWithLayer:(CAShapeLayer *)layer NS_DESIGNATED_INITIALIZER; 16 | + (instancetype)animationWithLayer:(CAShapeLayer *)layer; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTShapeLayerAnimation.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTShapeLayerAnimation.m 3 | // JazzHands 4 | // 5 | // Created by Laura Skelton on 6/17/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTShapeLayerAnimation.h" 10 | 11 | @interface IFTTTShapeLayerAnimation () 12 | 13 | @property (nonatomic, strong, readwrite) CAShapeLayer *layer; 14 | 15 | @end 16 | 17 | @implementation IFTTTShapeLayerAnimation 18 | 19 | - (instancetype)initWithLayer:(CAShapeLayer *)layer 20 | { 21 | if ((self = [super init])) { 22 | _layer = layer; 23 | } 24 | return self; 25 | } 26 | 27 | + (instancetype)animationWithLayer:(CAShapeLayer *)layer 28 | { 29 | return [[self alloc] initWithLayer:layer]; 30 | } 31 | 32 | @end -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTStrokeEndAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTStrokeEndAnimation.h 3 | // JazzHands 4 | // 5 | // Created by Pierluigi D'Andrea on 06/05/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTShapeLayerAnimation.h" 10 | 11 | @interface IFTTTStrokeEndAnimation : IFTTTShapeLayerAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time strokeEnd:(CGFloat)strokeEnd; 14 | - (void)addKeyframeForTime:(CGFloat)time strokeEnd:(CGFloat)strokeEnd withEasingFunction:(IFTTTEasingFunction)easingFunction; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTStrokeEndAnimation.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTStrokeEndAnimation.m 3 | // JazzHands 4 | // 5 | // Created by Pierluigi D'Andrea on 06/05/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTStrokeEndAnimation.h" 10 | 11 | @implementation IFTTTStrokeEndAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time strokeEnd:(CGFloat)strokeEnd 14 | { 15 | if (![self isValidStrokeEnd:strokeEnd]) return; 16 | [self addKeyframeForTime:time value:@(strokeEnd)]; 17 | } 18 | 19 | - (void)addKeyframeForTime:(CGFloat)time strokeEnd:(CGFloat)strokeEnd withEasingFunction:(IFTTTEasingFunction)easingFunction 20 | { 21 | if (![self isValidStrokeEnd:strokeEnd]) return; 22 | [self addKeyframeForTime:time value:@(strokeEnd) withEasingFunction:easingFunction]; 23 | } 24 | 25 | - (BOOL)isValidStrokeEnd:(CGFloat)strokeEnd 26 | { 27 | NSAssert((strokeEnd >= 0.f) && (strokeEnd <= 1.f), @"Stroke End values must be between zero and one."); 28 | if ((strokeEnd < 0.f) || (strokeEnd > 1.f)) return NO; 29 | return YES; 30 | } 31 | 32 | - (void)animate:(CGFloat)time 33 | { 34 | if (!self.hasKeyframes) return; 35 | self.layer.strokeEnd = (CGFloat)[(NSNumber *)[self valueAtTime:time] floatValue]; 36 | } 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTStrokeStartAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTStrokeStartAnimation.h 3 | // JazzHands 4 | // 5 | // Created by Pierluigi D'Andrea on 06/05/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTShapeLayerAnimation.h" 10 | 11 | @interface IFTTTStrokeStartAnimation : IFTTTShapeLayerAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time strokeStart:(CGFloat)strokeStart; 14 | - (void)addKeyframeForTime:(CGFloat)time strokeStart:(CGFloat)strokeStart withEasingFunction:(IFTTTEasingFunction)easingFunction; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTStrokeStartAnimation.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTStrokeStartAnimation.m 3 | // JazzHands 4 | // 5 | // Created by Pierluigi D'Andrea on 06/05/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTStrokeStartAnimation.h" 10 | 11 | @implementation IFTTTStrokeStartAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time strokeStart:(CGFloat)strokeStart 14 | { 15 | if (![self isValidStrokeStart:strokeStart]) return; 16 | [self addKeyframeForTime:time value:@(strokeStart)]; 17 | } 18 | 19 | - (void)addKeyframeForTime:(CGFloat)time strokeStart:(CGFloat)strokeStart withEasingFunction:(IFTTTEasingFunction)easingFunction 20 | { 21 | if (![self isValidStrokeStart:strokeStart]) return; 22 | [self addKeyframeForTime:time value:@(strokeStart) withEasingFunction:easingFunction]; 23 | } 24 | 25 | - (BOOL)isValidStrokeStart:(CGFloat)strokeStart 26 | { 27 | NSAssert((strokeStart >= 0.f) && (strokeStart <= 1.f), @"Stroke Start values must be between zero and one."); 28 | if ((strokeStart < 0.f) || (strokeStart > 1.f)) return NO; 29 | return YES; 30 | } 31 | 32 | - (void)animate:(CGFloat)time 33 | { 34 | if (!self.hasKeyframes) return; 35 | self.layer.strokeStart = (CGFloat)[(NSNumber *)[self valueAtTime:time] floatValue]; 36 | } 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTTextColorAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTTextColorAnimation.h 3 | // IFTTT 4 | // 5 | // Created by Iulian Onofrei on 07/05/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTLabelAnimation.h" 10 | 11 | @interface IFTTTTextColorAnimation : IFTTTLabelAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color; 14 | - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color withEasingFunction:(IFTTTEasingFunction)easingFunction; 15 | 16 | @end -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTTextColorAnimation.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTTextColorAnimation.m 3 | // IFTTT 4 | // 5 | // Created by Iulian Onofrei on 07/05/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTTextColorAnimation.h" 10 | 11 | @implementation IFTTTTextColorAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color 14 | { 15 | if (![self validColor:color]) return; 16 | [self addKeyframeForTime:time value:color]; 17 | } 18 | 19 | - (void)addKeyframeForTime:(CGFloat)time color:(UIColor *)color withEasingFunction:(IFTTTEasingFunction)easingFunction 20 | { 21 | if (![self validColor:color]) return; 22 | [self addKeyframeForTime:time value:color withEasingFunction:easingFunction]; 23 | } 24 | 25 | - (BOOL)validColor:(UIColor *)color 26 | { 27 | NSAssert((color != nil), @"Color must not be nil."); 28 | if (!color) return NO; 29 | return YES; 30 | } 31 | 32 | - (void)animate:(CGFloat)time 33 | { 34 | if (!self.hasKeyframes) return; 35 | self.label.textColor = (UIColor *)[self valueAtTime:time]; 36 | } 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTTransform3DAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTTransform3DAnimation.h 3 | // JazzHands 4 | // 5 | // Created by QFish on 3/3/14. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTViewAnimation.h" 10 | 11 | struct IFTTTTransform3DTranslate 12 | { 13 | CGFloat tx, ty, tz; 14 | }; 15 | 16 | typedef struct IFTTTTransform3DTranslate IFTTTTransform3DTranslate; 17 | 18 | struct IFTTTTransform3DScale 19 | { 20 | CGFloat sx, sy, sz; 21 | }; 22 | 23 | typedef struct IFTTTTransform3DScale IFTTTTransform3DScale; 24 | 25 | struct IFTTTTransform3DRotate 26 | { 27 | CGFloat angle; 28 | CGFloat x, y, z; 29 | }; 30 | 31 | typedef struct IFTTTTransform3DRotate IFTTTTransform3DRotate; 32 | 33 | @interface IFTTTTransform3D : NSObject 34 | 35 | @property (nonatomic, assign) CGFloat m34; 36 | @property (nonatomic, assign) IFTTTTransform3DScale scale; 37 | @property (nonatomic, assign) IFTTTTransform3DRotate rotate; 38 | @property (nonatomic, assign) IFTTTTransform3DTranslate translate; 39 | 40 | + (instancetype)transformWithM34:(CGFloat)m34; 41 | - (id)initWithM34:(CGFloat)m34; 42 | 43 | @end 44 | 45 | @interface IFTTTTransform3DAnimation : IFTTTViewAnimation 46 | 47 | - (void)addKeyframeForTime:(CGFloat)time transform:(IFTTTTransform3D *)transform; 48 | - (void)addKeyframeForTime:(CGFloat)time transform:(IFTTTTransform3D *)transform withEasingFunction:(IFTTTEasingFunction)easingFunction; 49 | 50 | @end 51 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTTranslationAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTTranslationAnimation.h 3 | // JazzHands 4 | // 5 | // Created by Laura Skelton on 6/17/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTViewAnimation.h" 10 | 11 | @interface IFTTTTranslationAnimation : IFTTTViewAnimation 12 | 13 | - (void)addKeyframeForTime:(CGFloat)time translation:(CGPoint)translation; 14 | - (void)addKeyframeForTime:(CGFloat)time translation:(CGPoint)translation withEasingFunction:(IFTTTEasingFunction)easingFunction; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTTranslationAnimation.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTTranslationAnimation.m 3 | // JazzHands 4 | // 5 | // Created by Laura Skelton on 6/17/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTTranslationAnimation.h" 10 | #import "UIView+IFTTTJazzHands.h" 11 | 12 | @implementation IFTTTTranslationAnimation 13 | 14 | - (void)addKeyframeForTime:(CGFloat)time translation:(CGPoint)translation 15 | { 16 | [self addKeyframeForTime:time value:[NSValue valueWithCGPoint:translation]]; 17 | } 18 | 19 | - (void)addKeyframeForTime:(CGFloat)time translation:(CGPoint)translation withEasingFunction:(IFTTTEasingFunction)easingFunction 20 | { 21 | [self addKeyframeForTime:time value:[NSValue valueWithCGPoint:translation] withEasingFunction:easingFunction]; 22 | } 23 | 24 | - (void)animate:(CGFloat)time 25 | { 26 | if (!self.hasKeyframes) return; 27 | CGPoint translation = (CGPoint)[(NSValue *)[self valueAtTime:time] CGPointValue]; 28 | CGAffineTransform translationTransform = CGAffineTransformMakeTranslation(translation.x, translation.y); 29 | self.view.iftttTranslationTransform = [NSValue valueWithCGAffineTransform:translationTransform]; 30 | CGAffineTransform newTransform = translationTransform; 31 | if (self.view.iftttRotationTransform) { 32 | newTransform = CGAffineTransformConcat(newTransform, [self.view.iftttRotationTransform CGAffineTransformValue]); 33 | } 34 | if (self.view.iftttScaleTransform) { 35 | newTransform = CGAffineTransformConcat(newTransform, [self.view.iftttScaleTransform CGAffineTransformValue]); 36 | } 37 | self.view.transform = newTransform; 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTViewAnimation.h: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTViewAnimation.h 3 | // JazzHands 4 | // 5 | // Created by Laura Skelton on 6/17/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTAnimation.h" 10 | 11 | @interface IFTTTViewAnimation : IFTTTAnimation 12 | 13 | @property (nonatomic, strong, readonly) UIView *view; 14 | 15 | - (instancetype)initWithView:(UIView *)view NS_DESIGNATED_INITIALIZER; 16 | + (instancetype)animationWithView:(UIView *)view; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/IFTTTViewAnimation.m: -------------------------------------------------------------------------------- 1 | // 2 | // IFTTTViewAnimation.m 3 | // JazzHands 4 | // 5 | // Created by Laura Skelton on 6/17/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "IFTTTViewAnimation.h" 10 | 11 | @interface IFTTTViewAnimation () 12 | 13 | @property (nonatomic, strong, readwrite) UIView *view; 14 | 15 | @end 16 | 17 | @implementation IFTTTViewAnimation 18 | 19 | - (instancetype)initWithView:(UIView *)view 20 | { 21 | if ((self = [super init])) { 22 | _view = view; 23 | } 24 | return self; 25 | } 26 | 27 | + (instancetype)animationWithView:(UIView *)view 28 | { 29 | return [[self alloc] initWithView:view]; 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/UIView+IFTTTJazzHands.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+IFTTTJazzHands.h 3 | // JazzHands 4 | // 5 | // Created by Laura Skelton on 6/17/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIView (IFTTTJazzHands) 12 | 13 | @property (nonatomic, strong) NSValue *iftttRotationTransform; 14 | @property (nonatomic, strong) NSValue *iftttScaleTransform; 15 | @property (nonatomic, strong) NSValue *iftttTranslationTransform; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Pods/JazzHands/JazzHands/UIView+IFTTTJazzHands.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+IFTTTJazzHands.m 3 | // JazzHands 4 | // 5 | // Created by Laura Skelton on 6/17/15. 6 | // Copyright (c) 2015 IFTTT Inc. All rights reserved. 7 | // 8 | 9 | #import "UIView+IFTTTJazzHands.h" 10 | #import 11 | 12 | @implementation UIView (IFTTTJazzHands) 13 | 14 | - (NSValue *)iftttRotationTransform 15 | { 16 | return objc_getAssociatedObject(self, @selector(iftttRotationTransform)); 17 | } 18 | 19 | - (void)setIftttRotationTransform:(NSValue *)iftttRotationTransform 20 | { 21 | objc_setAssociatedObject(self, @selector(iftttRotationTransform), iftttRotationTransform, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 22 | } 23 | 24 | - (NSValue *)iftttScaleTransform 25 | { 26 | return objc_getAssociatedObject(self, @selector(iftttScaleTransform)); 27 | } 28 | 29 | - (void)setIftttScaleTransform:(NSValue *)iftttScaleTransform 30 | { 31 | objc_setAssociatedObject(self, @selector(iftttScaleTransform), iftttScaleTransform, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 32 | } 33 | 34 | - (NSValue *)iftttTranslationTransform 35 | { 36 | return objc_getAssociatedObject(self, @selector(iftttTranslationTransform)); 37 | } 38 | 39 | - (void)setIftttTranslationTransform:(NSValue *)iftttTranslationTransform 40 | { 41 | objc_setAssociatedObject(self, @selector(iftttTranslationTransform), iftttTranslationTransform, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 42 | } 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /Pods/JazzHands/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 IFTTT Inc 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - AFNetworking (2.5.4): 3 | - AFNetworking/NSURLConnection (= 2.5.4) 4 | - AFNetworking/NSURLSession (= 2.5.4) 5 | - AFNetworking/Reachability (= 2.5.4) 6 | - AFNetworking/Security (= 2.5.4) 7 | - AFNetworking/Serialization (= 2.5.4) 8 | - AFNetworking/UIKit (= 2.5.4) 9 | - AFNetworking/NSURLConnection (2.5.4): 10 | - AFNetworking/Reachability 11 | - AFNetworking/Security 12 | - AFNetworking/Serialization 13 | - AFNetworking/NSURLSession (2.5.4): 14 | - AFNetworking/Reachability 15 | - AFNetworking/Security 16 | - AFNetworking/Serialization 17 | - AFNetworking/Reachability (2.5.4) 18 | - AFNetworking/Security (2.5.4) 19 | - AFNetworking/Serialization (2.5.4) 20 | - AFNetworking/UIKit (2.5.4): 21 | - AFNetworking/NSURLConnection 22 | - AFNetworking/NSURLSession 23 | - iCarousel (1.8.1) 24 | - JazzHands (2.0.2) 25 | - Masonry (0.6.2) 26 | - NYXImagesKit (2.3) 27 | - SDWebImage (3.7.3): 28 | - SDWebImage/Core (= 3.7.3) 29 | - SDWebImage/Core (3.7.3) 30 | - SMPageControl (1.2) 31 | 32 | DEPENDENCIES: 33 | - AFNetworking (~> 2.5.4) 34 | - iCarousel (~> 1.8.1) 35 | - JazzHands (~> 2.0.2) 36 | - Masonry 37 | - NYXImagesKit (~> 2.3) 38 | - SDWebImage (~> 3.7.3) 39 | - SMPageControl (~> 1.2) 40 | 41 | SPEC CHECKSUMS: 42 | AFNetworking: 05edc0ac4c4c8cf57bcf4b84be5b0744b6d8e71e 43 | iCarousel: dace1cb858e3f4dc2614bee3201041247f82feda 44 | JazzHands: 088a3949e539480b07ba6ae4877da935efcc061b 45 | Masonry: 362e8a1cc0beada4a4c4832d5e863da2a51533be 46 | NYXImagesKit: 8163e3335a40eaa173ca5bbbf81fafb57d3947eb 47 | SDWebImage: 1d2b1a1efda1ade1b00b6f8498865f8ddedc8a84 48 | SMPageControl: 922892813001cfaf059e86e6801f46a967e9ee29 49 | 50 | COCOAPODS: 0.38.0.beta.2 51 | -------------------------------------------------------------------------------- /Pods/Masonry/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASCompositeConstraint.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASCompositeConstraint.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 21/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASConstraint.h" 10 | #import "MASUtilities.h" 11 | 12 | /** 13 | * A group of MASConstraint objects 14 | */ 15 | @interface MASCompositeConstraint : MASConstraint 16 | 17 | /** 18 | * Creates a composite with a predefined array of children 19 | * 20 | * @param children child MASConstraints 21 | * 22 | * @return a composite constraint 23 | */ 24 | - (id)initWithChildren:(NSArray *)children; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASConstraint+Private.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASConstraint+Private.h 3 | // Masonry 4 | // 5 | // Created by Nick Tymchenko on 29/04/14. 6 | // Copyright (c) 2014 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASConstraint.h" 10 | 11 | @protocol MASConstraintDelegate; 12 | 13 | 14 | @interface MASConstraint () 15 | 16 | /** 17 | * Whether or not to check for an existing constraint instead of adding constraint 18 | */ 19 | @property (nonatomic, assign) BOOL updateExisting; 20 | 21 | /** 22 | * Usually MASConstraintMaker but could be a parent MASConstraint 23 | */ 24 | @property (nonatomic, weak) id delegate; 25 | 26 | /** 27 | * Based on a provided value type, is equal to calling: 28 | * NSNumber - setOffset: 29 | * NSValue with CGPoint - setPointOffset: 30 | * NSValue with CGSize - setSizeOffset: 31 | * NSValue with MASEdgeInsets - setInsets: 32 | */ 33 | - (void)setLayoutConstantWithValue:(NSValue *)value; 34 | 35 | @end 36 | 37 | 38 | @interface MASConstraint (Abstract) 39 | 40 | /** 41 | * Sets the constraint relation to given NSLayoutRelation 42 | * returns a block which accepts one of the following: 43 | * MASViewAttribute, UIView, NSValue, NSArray 44 | * see readme for more details. 45 | */ 46 | - (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation; 47 | 48 | /** 49 | * Override to set a custom chaining behaviour 50 | */ 51 | - (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute; 52 | 53 | @end 54 | 55 | 56 | @protocol MASConstraintDelegate 57 | 58 | /** 59 | * Notifies the delegate when the constraint needs to be replaced with another constraint. For example 60 | * A MASViewConstraint may turn into a MASCompositeConstraint when an array is passed to one of the equality blocks 61 | */ 62 | - (void)constraint:(MASConstraint *)constraint shouldBeReplacedWithConstraint:(MASConstraint *)replacementConstraint; 63 | 64 | - (MASConstraint *)constraint:(MASConstraint *)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute; 65 | 66 | @end 67 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASLayoutConstraint.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASLayoutConstraint.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * When you are debugging or printing the constraints attached to a view this subclass 13 | * makes it easier to identify which constraints have been created via Masonry 14 | */ 15 | @interface MASLayoutConstraint : NSLayoutConstraint 16 | 17 | /** 18 | * a key to associate with this constraint 19 | */ 20 | @property (nonatomic, strong) id mas_key; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASLayoutConstraint.m: -------------------------------------------------------------------------------- 1 | // 2 | // MASLayoutConstraint.m 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASLayoutConstraint.h" 10 | 11 | @implementation MASLayoutConstraint 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASViewAttribute.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASAttribute.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 21/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * An immutable tuple which stores the view and the related NSLayoutAttribute. 13 | * Describes part of either the left or right hand side of a constraint equation 14 | */ 15 | @interface MASViewAttribute : NSObject 16 | 17 | /** 18 | * The view which the reciever relates to. Can be nil if item is not a view. 19 | */ 20 | @property (nonatomic, weak, readonly) MAS_VIEW *view; 21 | 22 | /** 23 | * The item which the reciever relates to. 24 | */ 25 | @property (nonatomic, weak, readonly) id item; 26 | 27 | /** 28 | * The attribute which the reciever relates to 29 | */ 30 | @property (nonatomic, assign, readonly) NSLayoutAttribute layoutAttribute; 31 | 32 | /** 33 | * Convenience initializer. 34 | */ 35 | - (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute; 36 | 37 | /** 38 | * The designated initializer. 39 | */ 40 | - (id)initWithView:(MAS_VIEW *)view item:(id)item layoutAttribute:(NSLayoutAttribute)layoutAttribute; 41 | 42 | /** 43 | * Determine whether the layoutAttribute is a size attribute 44 | * 45 | * @return YES if layoutAttribute is equal to NSLayoutAttributeWidth or NSLayoutAttributeHeight 46 | */ 47 | - (BOOL)isSizeAttribute; 48 | 49 | @end 50 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASViewAttribute.m: -------------------------------------------------------------------------------- 1 | // 2 | // MASAttribute.m 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 21/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASViewAttribute.h" 10 | 11 | @implementation MASViewAttribute 12 | 13 | - (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute { 14 | self = [self initWithView:view item:view layoutAttribute:layoutAttribute]; 15 | return self; 16 | } 17 | 18 | - (id)initWithView:(MAS_VIEW *)view item:(id)item layoutAttribute:(NSLayoutAttribute)layoutAttribute { 19 | self = [super init]; 20 | if (!self) return nil; 21 | 22 | _view = view; 23 | _item = item; 24 | _layoutAttribute = layoutAttribute; 25 | 26 | return self; 27 | } 28 | 29 | - (BOOL)isSizeAttribute { 30 | return self.layoutAttribute == NSLayoutAttributeWidth 31 | || self.layoutAttribute == NSLayoutAttributeHeight; 32 | } 33 | 34 | - (BOOL)isEqual:(MASViewAttribute *)viewAttribute { 35 | if ([viewAttribute isKindOfClass:self.class]) { 36 | return self.view == viewAttribute.view 37 | && self.layoutAttribute == viewAttribute.layoutAttribute; 38 | } 39 | return [super isEqual:viewAttribute]; 40 | } 41 | 42 | - (NSUInteger)hash { 43 | return MAS_NSUINTROTATE([self.view hash], MAS_NSUINT_BIT / 2) ^ self.layoutAttribute; 44 | } 45 | 46 | @end 47 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASViewConstraint.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASConstraint.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 20/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASViewAttribute.h" 10 | #import "MASConstraint.h" 11 | #import "MASLayoutConstraint.h" 12 | #import "MASUtilities.h" 13 | 14 | /** 15 | * A single constraint. 16 | * Contains the attributes neccessary for creating a NSLayoutConstraint and adding it to the appropriate view 17 | */ 18 | @interface MASViewConstraint : MASConstraint 19 | 20 | /** 21 | * First item/view and first attribute of the NSLayoutConstraint 22 | */ 23 | @property (nonatomic, strong, readonly) MASViewAttribute *firstViewAttribute; 24 | 25 | /** 26 | * Second item/view and second attribute of the NSLayoutConstraint 27 | */ 28 | @property (nonatomic, strong, readonly) MASViewAttribute *secondViewAttribute; 29 | 30 | /** 31 | * initialises the MASViewConstraint with the first part of the equation 32 | * 33 | * @param firstViewAttribute view.mas_left, view.mas_width etc. 34 | * 35 | * @return a new view constraint 36 | */ 37 | - (id)initWithFirstViewAttribute:(MASViewAttribute *)firstViewAttribute; 38 | 39 | /** 40 | * Returns all MASViewConstraints installed with this view as a first item. 41 | * 42 | * @param view A view to retrieve constraints for. 43 | * 44 | * @return An array of MASViewConstraints. 45 | */ 46 | + (NSArray *)installedConstraintsForView:(MAS_VIEW *)view; 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/Masonry.h: -------------------------------------------------------------------------------- 1 | // 2 | // Masonry.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 20/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for Masonry. 12 | FOUNDATION_EXPORT double MasonryVersionNumber; 13 | 14 | //! Project version string for Masonry. 15 | FOUNDATION_EXPORT const unsigned char MasonryVersionString[]; 16 | 17 | #import "MASUtilities.h" 18 | #import "View+MASAdditions.h" 19 | #import "View+MASShorthandAdditions.h" 20 | #import "ViewController+MASAdditions.h" 21 | #import "NSArray+MASAdditions.h" 22 | #import "NSArray+MASShorthandAdditions.h" 23 | #import "MASConstraint.h" 24 | #import "MASCompositeConstraint.h" 25 | #import "MASViewAttribute.h" 26 | #import "MASViewConstraint.h" 27 | #import "MASConstraintMaker.h" 28 | #import "MASLayoutConstraint.h" 29 | #import "NSLayoutConstraint+MASDebugAdditions.h" 30 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/NSArray+MASAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray+MASAdditions.h 3 | // 4 | // 5 | // Created by Daniel Hammond on 11/26/13. 6 | // 7 | // 8 | 9 | #import "MASUtilities.h" 10 | #import "MASConstraintMaker.h" 11 | #import "MASViewAttribute.h" 12 | 13 | @interface NSArray (MASAdditions) 14 | 15 | /** 16 | * Creates a MASConstraintMaker with each view in the callee. 17 | * Any constraints defined are added to the view or the appropriate superview once the block has finished executing on each view 18 | * 19 | * @param block scope within which you can build up the constraints which you wish to apply to each view. 20 | * 21 | * @return Array of created MASConstraints 22 | */ 23 | - (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block; 24 | 25 | /** 26 | * Creates a MASConstraintMaker with each view in the callee. 27 | * Any constraints defined are added to each view or the appropriate superview once the block has finished executing on each view. 28 | * If an existing constraint exists then it will be updated instead. 29 | * 30 | * @param block scope within which you can build up the constraints which you wish to apply to each view. 31 | * 32 | * @return Array of created/updated MASConstraints 33 | */ 34 | - (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block; 35 | 36 | /** 37 | * Creates a MASConstraintMaker with each view in the callee. 38 | * Any constraints defined are added to each view or the appropriate superview once the block has finished executing on each view. 39 | * All constraints previously installed for the views will be removed. 40 | * 41 | * @param block scope within which you can build up the constraints which you wish to apply to each view. 42 | * 43 | * @return Array of created/updated MASConstraints 44 | */ 45 | - (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block; 46 | 47 | @end 48 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/NSArray+MASAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray+MASAdditions.m 3 | // 4 | // 5 | // Created by Daniel Hammond on 11/26/13. 6 | // 7 | // 8 | 9 | #import "NSArray+MASAdditions.h" 10 | #import "View+MASAdditions.h" 11 | 12 | @implementation NSArray (MASAdditions) 13 | 14 | - (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block { 15 | NSMutableArray *constraints = [NSMutableArray array]; 16 | for (MAS_VIEW *view in self) { 17 | NSAssert([view isKindOfClass:[MAS_VIEW class]], @"All objects in the array must be views"); 18 | [constraints addObjectsFromArray:[view mas_makeConstraints:block]]; 19 | } 20 | return constraints; 21 | } 22 | 23 | - (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block { 24 | NSMutableArray *constraints = [NSMutableArray array]; 25 | for (MAS_VIEW *view in self) { 26 | NSAssert([view isKindOfClass:[MAS_VIEW class]], @"All objects in the array must be views"); 27 | [constraints addObjectsFromArray:[view mas_updateConstraints:block]]; 28 | } 29 | return constraints; 30 | } 31 | 32 | - (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block { 33 | NSMutableArray *constraints = [NSMutableArray array]; 34 | for (MAS_VIEW *view in self) { 35 | NSAssert([view isKindOfClass:[MAS_VIEW class]], @"All objects in the array must be views"); 36 | [constraints addObjectsFromArray:[view mas_remakeConstraints:block]]; 37 | } 38 | return constraints; 39 | } 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/NSArray+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray+MASShorthandAdditions.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 22/07/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "NSArray+MASAdditions.h" 10 | 11 | #ifdef MAS_SHORTHAND 12 | 13 | /** 14 | * Shorthand array additions without the 'mas_' prefixes, 15 | * only enabled if MAS_SHORTHAND is defined 16 | */ 17 | @interface NSArray (MASShorthandAdditions) 18 | 19 | - (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *make))block; 20 | - (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *make))block; 21 | - (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *make))block; 22 | 23 | @end 24 | 25 | @implementation NSArray (MASShorthandAdditions) 26 | 27 | - (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *))block { 28 | return [self mas_makeConstraints:block]; 29 | } 30 | 31 | - (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *))block { 32 | return [self mas_updateConstraints:block]; 33 | } 34 | 35 | - (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *))block { 36 | return [self mas_remakeConstraints:block]; 37 | } 38 | 39 | @end 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSLayoutConstraint+MASDebugAdditions.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * makes debug and log output of NSLayoutConstraints more readable 13 | */ 14 | @interface NSLayoutConstraint (MASDebugAdditions) 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/ViewController+MASAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIViewController+MASAdditions.h 3 | // Masonry 4 | // 5 | // Created by Craig Siemens on 2015-06-23. 6 | // 7 | // 8 | 9 | #import "MASUtilities.h" 10 | #import "MASConstraintMaker.h" 11 | #import "MASViewAttribute.h" 12 | 13 | #ifdef MAS_VIEW_CONTROLLER 14 | 15 | @interface MAS_VIEW_CONTROLLER (MASAdditions) 16 | 17 | /** 18 | * following properties return a new MASViewAttribute with appropriate UILa 8youtGuide and NSLayoutAttribute 19 | */ 20 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuide; 21 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuide; 22 | 23 | @end 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/ViewController+MASAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIViewController+MASAdditions.m 3 | // Masonry 4 | // 5 | // Created by Craig Siemens on 2015-06-23. 6 | // 7 | // 8 | 9 | #import "ViewController+MASAdditions.h" 10 | 11 | #ifdef MAS_VIEW_CONTROLLER 12 | 13 | @implementation MAS_VIEW_CONTROLLER (MASAdditions) 14 | 15 | - (MASViewAttribute *)mas_topLayoutGuide { 16 | return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeBottom]; 17 | } 18 | 19 | - (MASViewAttribute *)mas_bottomLayoutGuide { 20 | return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeTop]; 21 | } 22 | 23 | @end 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/Categories/UIImage+Blurring.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Blurring.h 3 | // NYXImagesKit 4 | // 5 | // Created by @Nyx0uf on 03/06/11. 6 | // Copyright 2012 Nyx0uf. All rights reserved. 7 | // www.cocoaintheshell.com 8 | // 9 | 10 | 11 | #import "NYXImagesHelper.h" 12 | 13 | 14 | @interface UIImage (NYX_Blurring) 15 | 16 | -(UIImage*)gaussianBlurWithBias:(NSInteger)bias; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/Categories/UIImage+Blurring.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Blurring.m 3 | // NYXImagesKit 4 | // 5 | // Created by @Nyx0uf on 03/06/11. 6 | // Copyright 2012 Nyx0uf. All rights reserved. 7 | // www.cocoaintheshell.com 8 | // 9 | 10 | 11 | #import "UIImage+Blurring.h" 12 | #import 13 | 14 | 15 | static int16_t __s_gaussianblur_kernel_5x5[25] = { 16 | 1, 4, 6, 4, 1, 17 | 4, 16, 24, 16, 4, 18 | 6, 24, 36, 24, 6, 19 | 4, 16, 24, 16, 4, 20 | 1, 4, 6, 4, 1 21 | }; 22 | 23 | 24 | @implementation UIImage (NYX_Blurring) 25 | 26 | -(UIImage*)gaussianBlurWithBias:(NSInteger)bias 27 | { 28 | /// Create an ARGB bitmap context 29 | const size_t width = (size_t)self.size.width; 30 | const size_t height = (size_t)self.size.height; 31 | const size_t bytesPerRow = width * kNyxNumberOfComponentsPerARBGPixel; 32 | CGContextRef bmContext = NYXCreateARGBBitmapContext(width, height, bytesPerRow, NYXImageHasAlpha(self.CGImage)); 33 | if (!bmContext) 34 | return nil; 35 | 36 | /// Draw the image in the bitmap context 37 | CGContextDrawImage(bmContext, (CGRect){.origin.x = 0.0f, .origin.y = 0.0f, .size.width = width, .size.height = height}, self.CGImage); 38 | 39 | /// Grab the image raw data 40 | UInt8* data = (UInt8*)CGBitmapContextGetData(bmContext); 41 | if (!data) 42 | { 43 | CGContextRelease(bmContext); 44 | return nil; 45 | } 46 | 47 | const size_t n = sizeof(UInt8) * width * height * 4; 48 | void* outt = malloc(n); 49 | vImage_Buffer src = {data, height, width, bytesPerRow}; 50 | vImage_Buffer dest = {outt, height, width, bytesPerRow}; 51 | vImageConvolveWithBias_ARGB8888(&src, &dest, NULL, 0, 0, __s_gaussianblur_kernel_5x5, 5, 5, 256/*divisor*/, bias, NULL, kvImageCopyInPlace); 52 | memcpy(data, outt, n); 53 | free(outt); 54 | 55 | CGImageRef blurredImageRef = CGBitmapContextCreateImage(bmContext); 56 | UIImage* blurred = [UIImage imageWithCGImage:blurredImageRef]; 57 | 58 | /// Cleanup 59 | CGImageRelease(blurredImageRef); 60 | CGContextRelease(bmContext); 61 | 62 | return blurred; 63 | } 64 | 65 | @end 66 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/Categories/UIImage+Enhancing.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Enhancing.h 3 | // NYXImagesKit 4 | // 5 | // Created by @Nyx0uf on 03/12/11. 6 | // Copyright 2012 Nyx0uf. All rights reserved. 7 | // www.cocoaintheshell.com 8 | // 9 | 10 | 11 | @interface UIImage (NYX_Enhancing) 12 | 13 | -(UIImage*)autoEnhance; 14 | 15 | -(UIImage*)redEyeCorrection; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/Categories/UIImage+Enhancing.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Enhancing.m 3 | // NYXImagesKit 4 | // 5 | // Created by @Nyx0uf on 03/12/11. 6 | // Copyright 2012 Nyx0uf. All rights reserved. 7 | // www.cocoaintheshell.com 8 | // 9 | 10 | 11 | #import "UIImage+Enhancing.h" 12 | #import 13 | 14 | 15 | @implementation UIImage (NYX_Enhancing) 16 | 17 | -(UIImage*)autoEnhance 18 | { 19 | /// No Core Image, return original image 20 | if (![CIImage class]) 21 | return self; 22 | 23 | CIImage* ciImage = [[CIImage alloc] initWithCGImage:self.CGImage]; 24 | 25 | NSArray* adjustments = [ciImage autoAdjustmentFiltersWithOptions:[NSDictionary dictionaryWithObject:[NSNumber numberWithBool:NO] forKey:kCIImageAutoAdjustRedEye]]; 26 | 27 | for (CIFilter* filter in adjustments) 28 | { 29 | [filter setValue:ciImage forKey:kCIInputImageKey]; 30 | ciImage = filter.outputImage; 31 | } 32 | 33 | CIContext* ctx = [CIContext contextWithOptions:nil]; 34 | CGImageRef cgImage = [ctx createCGImage:ciImage fromRect:[ciImage extent]]; 35 | UIImage* final = [UIImage imageWithCGImage:cgImage]; 36 | CGImageRelease(cgImage); 37 | return final; 38 | } 39 | 40 | -(UIImage*)redEyeCorrection 41 | { 42 | /// No Core Image, return original image 43 | if (![CIImage class]) 44 | return self; 45 | 46 | CIImage* ciImage = [[CIImage alloc] initWithCGImage:self.CGImage]; 47 | 48 | /// Get the filters and apply them to the image 49 | NSArray* filters = [ciImage autoAdjustmentFiltersWithOptions:[NSDictionary dictionaryWithObject:[NSNumber numberWithBool:NO] forKey:kCIImageAutoAdjustEnhance]]; 50 | for (CIFilter* filter in filters) 51 | { 52 | [filter setValue:ciImage forKey:kCIInputImageKey]; 53 | ciImage = filter.outputImage; 54 | } 55 | 56 | /// Create the corrected image 57 | CIContext* ctx = [CIContext contextWithOptions:nil]; 58 | CGImageRef cgImage = [ctx createCGImage:ciImage fromRect:[ciImage extent]]; 59 | UIImage* final = [UIImage imageWithCGImage:cgImage]; 60 | CGImageRelease(cgImage); 61 | return final; 62 | } 63 | 64 | @end 65 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/Categories/UIImage+Filtering.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Filters.h 3 | // NYXImagesKit 4 | // 5 | // Created by @Nyx0uf on 02/05/11. 6 | // Copyright 2012 Nyx0uf. All rights reserved. 7 | // www.cocoaintheshell.com 8 | // 9 | 10 | 11 | #import "NYXImagesHelper.h" 12 | 13 | 14 | @interface UIImage (NYX_Filtering) 15 | 16 | -(UIImage*)brightenWithValue:(float)factor; 17 | 18 | -(UIImage*)contrastAdjustmentWithValue:(float)value; 19 | 20 | -(UIImage*)edgeDetectionWithBias:(NSInteger)bias; 21 | 22 | -(UIImage*)embossWithBias:(NSInteger)bias; 23 | 24 | -(UIImage*)gammaCorrectionWithValue:(float)value; 25 | 26 | -(UIImage*)grayscale; 27 | 28 | -(UIImage*)invert; 29 | 30 | -(UIImage*)opacity:(float)value; 31 | 32 | -(UIImage*)sepia; 33 | 34 | -(UIImage*)sharpenWithBias:(NSInteger)bias; 35 | 36 | -(UIImage*)unsharpenWithBias:(NSInteger)bias; 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/Categories/UIImage+Masking.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Masking.h 3 | // NYXImagesKit 4 | // 5 | // Created by @Nyx0uf on 02/06/11. 6 | // Copyright 2012 Nyx0uf. All rights reserved. 7 | // www.cocoaintheshell.com 8 | // 9 | 10 | 11 | #import "NYXImagesHelper.h" 12 | 13 | 14 | @interface UIImage (NYX_Masking) 15 | 16 | -(UIImage*)maskWithImage:(UIImage*)mask; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/Categories/UIImage+Masking.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Masking.m 3 | // NYXImagesKit 4 | // 5 | // Created by @Nyx0uf on 02/06/11. 6 | // Copyright 2012 Nyx0uf. All rights reserved. 7 | // www.cocoaintheshell.com 8 | // 9 | 10 | 11 | #import "UIImage+Masking.h" 12 | 13 | 14 | @implementation UIImage (NYX_Masking) 15 | 16 | -(UIImage*)maskWithImage:(UIImage*)maskImage 17 | { 18 | /// Create a bitmap context with valid alpha 19 | const size_t originalWidth = (size_t)(self.size.width * self.scale); 20 | const size_t originalHeight = (size_t)(self.size.height * self.scale); 21 | CGContextRef bmContext = NYXCreateARGBBitmapContext(originalWidth, originalHeight, 0, YES); 22 | if (!bmContext) 23 | return nil; 24 | 25 | /// Image quality 26 | CGContextSetShouldAntialias(bmContext, true); 27 | CGContextSetAllowsAntialiasing(bmContext, true); 28 | CGContextSetInterpolationQuality(bmContext, kCGInterpolationHigh); 29 | 30 | /// Image mask 31 | CGImageRef cgMaskImage = maskImage.CGImage; 32 | CGImageRef mask = CGImageMaskCreate((size_t)maskImage.size.width, (size_t)maskImage.size.height, CGImageGetBitsPerComponent(cgMaskImage), CGImageGetBitsPerPixel(cgMaskImage), CGImageGetBytesPerRow(cgMaskImage), CGImageGetDataProvider(cgMaskImage), NULL, false); 33 | 34 | /// Draw the original image in the bitmap context 35 | const CGRect r = (CGRect){.origin.x = 0.0f, .origin.y = 0.0f, .size.width = originalWidth, .size.height = originalHeight}; 36 | CGContextClipToMask(bmContext, r, cgMaskImage); 37 | CGContextDrawImage(bmContext, r, self.CGImage); 38 | 39 | /// Get the CGImage object 40 | CGImageRef imageRefWithAlpha = CGBitmapContextCreateImage(bmContext); 41 | /// Apply the mask 42 | CGImageRef maskedImageRef = CGImageCreateWithMask(imageRefWithAlpha, mask); 43 | 44 | UIImage* result = [UIImage imageWithCGImage:maskedImageRef scale:self.scale orientation:self.imageOrientation]; 45 | 46 | /// Cleanup 47 | CGImageRelease(maskedImageRef); 48 | CGImageRelease(imageRefWithAlpha); 49 | CGContextRelease(bmContext); 50 | CGImageRelease(mask); 51 | 52 | return result; 53 | } 54 | 55 | @end 56 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/Categories/UIImage+Reflection.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Reflection.h 3 | // NYXImagesKit 4 | // 5 | // Created by Matthias Tretter (@myell0w) on 02.06.11. 6 | 7 | // This was taken from the increadibly awesome HockeyKit: 8 | // Originally Created by Peter Steinberger on 10.01.11. 9 | // Copyright 2012 Peter Steinberger. All rights reserved. 10 | // 11 | // Permission is hereby granted, free of charge, to any person obtaining a copy 12 | // of this software and associated documentation files (the "Software"), to deal 13 | // in the Software without restriction, including without limitation the rights 14 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 | // copies of the Software, and to permit persons to whom the Software is 16 | // furnished to do so, subject to the following conditions: 17 | // 18 | // The above copyright notice and this permission notice shall be included in 19 | // all copies or substantial portions of the Software. 20 | // 21 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 | // THE SOFTWARE. 28 | 29 | 30 | #import "NYXImagesHelper.h" 31 | 32 | 33 | @interface UIImage (NYX_Reflection) 34 | 35 | -(UIImage*)reflectedImageWithHeight:(NSUInteger)height fromAlpha:(float)fromAlpha toAlpha:(float)toAlpha; 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/Categories/UIImage+Resizing.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Resize.h 3 | // NYXImagesKit 4 | // 5 | // Created by @Nyx0uf on 02/05/11. 6 | // Copyright 2012 Nyx0uf. All rights reserved. 7 | // www.cocoaintheshell.com 8 | // 9 | 10 | 11 | #import "NYXImagesHelper.h" 12 | 13 | 14 | typedef enum 15 | { 16 | NYXCropModeTopLeft, 17 | NYXCropModeTopCenter, 18 | NYXCropModeTopRight, 19 | NYXCropModeBottomLeft, 20 | NYXCropModeBottomCenter, 21 | NYXCropModeBottomRight, 22 | NYXCropModeLeftCenter, 23 | NYXCropModeRightCenter, 24 | NYXCropModeCenter 25 | } NYXCropMode; 26 | 27 | typedef enum 28 | { 29 | NYXResizeModeScaleToFill, 30 | NYXResizeModeAspectFit, 31 | NYXResizeModeAspectFill 32 | } NYXResizeMode; 33 | 34 | 35 | @interface UIImage (NYX_Resizing) 36 | 37 | -(UIImage*)cropToSize:(CGSize)newSize usingMode:(NYXCropMode)cropMode; 38 | 39 | // NYXCropModeTopLeft crop mode used 40 | -(UIImage*)cropToSize:(CGSize)newSize; 41 | 42 | -(UIImage*)scaleByFactor:(float)scaleFactor; 43 | 44 | -(UIImage*)scaleToSize:(CGSize)newSize usingMode:(NYXResizeMode)resizeMode; 45 | 46 | // NYXResizeModeScaleToFill resize mode used 47 | -(UIImage*)scaleToSize:(CGSize)newSize; 48 | 49 | // Same as 'scale to fill' in IB. 50 | -(UIImage*)scaleToFillSize:(CGSize)newSize; 51 | 52 | // Preserves aspect ratio. Same as 'aspect fit' in IB. 53 | -(UIImage*)scaleToFitSize:(CGSize)newSize; 54 | 55 | // Preserves aspect ratio. Same as 'aspect fill' in IB. 56 | -(UIImage*)scaleToCoverSize:(CGSize)newSize; 57 | 58 | @end 59 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/Categories/UIImage+Rotating.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Rotation.h 3 | // NYXImagesKit 4 | // 5 | // Created by @Nyx0uf on 02/05/11. 6 | // Copyright 2012 Nyx0uf. All rights reserved. 7 | // www.cocoaintheshell.com 8 | // 9 | 10 | 11 | #import "NYXImagesHelper.h" 12 | 13 | 14 | @interface UIImage (NYX_Rotating) 15 | 16 | -(UIImage*)rotateInRadians:(float)radians; 17 | 18 | -(UIImage*)rotateInDegrees:(float)degrees; 19 | 20 | -(UIImage*)rotateImagePixelsInRadians:(float)radians; 21 | 22 | -(UIImage*)rotateImagePixelsInDegrees:(float)degrees; 23 | 24 | -(UIImage*)verticalFlip; 25 | 26 | -(UIImage*)horizontalFlip; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/Categories/UIImage+Saving.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Saving.h 3 | // NYXImagesKit 4 | // 5 | // Created by @Nyx0uf on 05/05/11. 6 | // Copyright 2012 Nyx0uf. All rights reserved. 7 | // www.cocoaintheshell.com 8 | // 9 | 10 | 11 | #import "NYXImagesHelper.h" 12 | 13 | 14 | typedef enum 15 | { 16 | NYXImageTypePNG, 17 | NYXImageTypeJPEG, 18 | NYXImageTypeGIF, 19 | NYXImageTypeBMP, 20 | NYXImageTypeTIFF 21 | } NYXImageType; 22 | 23 | 24 | @interface UIImage (NYX_Saving) 25 | 26 | -(BOOL)saveToURL:(NSURL*)url uti:(CFStringRef)uti backgroundFillColor:(UIColor*)fillColor; 27 | 28 | -(BOOL)saveToURL:(NSURL*)url type:(NYXImageType)type backgroundFillColor:(UIColor*)fillColor; 29 | 30 | -(BOOL)saveToURL:(NSURL*)url; 31 | 32 | -(BOOL)saveToPath:(NSString*)path uti:(CFStringRef)uti backgroundFillColor:(UIColor*)fillColor; 33 | 34 | -(BOOL)saveToPath:(NSString*)path type:(NYXImageType)type backgroundFillColor:(UIColor*)fillColor; 35 | 36 | -(BOOL)saveToPath:(NSString*)path; 37 | 38 | -(BOOL)saveToPhotosAlbum; 39 | 40 | +(NSString*)extensionForUTI:(CFStringRef)uti; 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/Categories/UIScrollView+Screenshot.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIScrollView+Screenshot.h 3 | // NYXImagesKit 4 | // 5 | // Created by @Nyx0uf on 29/03/13. 6 | // Copyright 2013 Nyx0uf. All rights reserved. 7 | // www.cocoaintheshell.com 8 | // 9 | 10 | 11 | @interface UIScrollView (NYX_Screenshot) 12 | 13 | -(UIImage*)imageByRenderingCurrentVisibleRect; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/Categories/UIScrollView+Screenshot.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIScrollView+Screenshot.h 3 | // NYXImagesKit 4 | // 5 | // Created by @Nyx0uf on 29/03/13. 6 | // Copyright 2013 Nyx0uf. All rights reserved. 7 | // www.cocoaintheshell.com 8 | // 9 | 10 | 11 | #import "UIScrollView+Screenshot.h" 12 | #import 13 | 14 | @implementation UIScrollView (NYX_Screenshot) 15 | 16 | -(UIImage*)imageByRenderingCurrentVisibleRect 17 | { 18 | UIGraphicsBeginImageContextWithOptions(self.bounds.size, self.opaque, 0.0f); 19 | CGContextRef context = UIGraphicsGetCurrentContext(); 20 | CGContextTranslateCTM(context, 0.0f, -self.contentOffset.y); 21 | [self.layer renderInContext:context]; 22 | UIImage* image = UIGraphicsGetImageFromCurrentImageContext(); 23 | UIGraphicsEndImageContext(); 24 | return image; 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/Categories/UIView+Screenshot.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+Screenshot.h 3 | // NYXImagesKit 4 | // 5 | // Created by @Nyx0uf on 29/03/13. 6 | // Copyright 2013 Nyx0uf. All rights reserved. 7 | // www.cocoaintheshell.com 8 | // 9 | 10 | 11 | @interface UIView (NYX_Screenshot) 12 | 13 | -(UIImage*)imageByRenderingView; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/Categories/UIView+Screenshot.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+Screenshot.m 3 | // NYXImagesKit 4 | // 5 | // Created by @Nyx0uf on 29/03/13. 6 | // Copyright 2013 Nyx0uf. All rights reserved. 7 | // www.cocoaintheshell.com 8 | // 9 | 10 | 11 | #import "UIView+Screenshot.h" 12 | #import 13 | 14 | @implementation UIView (NYX_Screenshot) 15 | 16 | -(UIImage*)imageByRenderingView 17 | { 18 | UIGraphicsBeginImageContextWithOptions(self.bounds.size, self.opaque, 0.0f); 19 | [self.layer renderInContext:UIGraphicsGetCurrentContext()]; 20 | UIImage* image = UIGraphicsGetImageFromCurrentImageContext(); 21 | UIGraphicsEndImageContext(); 22 | return image; 23 | } 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/Classes/NYXProgressiveImageView.h: -------------------------------------------------------------------------------- 1 | // 2 | // NYXProgressiveImageView.h 3 | // NYXImagesKit 4 | // 5 | // Created by @Nyx0uf on 13/01/12. 6 | // Copyright 2012 Nyx0uf. All rights reserved. 7 | // www.cocoaintheshell.com 8 | // Caching stuff by raphaelp 9 | // 10 | 11 | 12 | @protocol NYXProgressiveImageViewDelegate 13 | @optional 14 | -(void)imageDidLoadWithImage:(UIImage*)img; 15 | -(void)imageDownloadCompletedWithImage:(UIImage*)img; 16 | -(void)imageDownloadFailedWithData:(NSData*)data; 17 | @end 18 | 19 | 20 | @interface NYXProgressiveImageView : UIImageView 21 | 22 | #pragma mark - Public messages 23 | /// Launch the image download 24 | -(void)loadImageAtURL:(NSURL*)url; 25 | /// This will remove all cached images managed by any NYXProgressiveImageView instances 26 | +(void)resetImageCache; 27 | 28 | #pragma mark - Public properties 29 | /// Delegate 30 | @property (nonatomic, weak) IBOutlet id delegate; 31 | /// Enable / Disable caching 32 | @property (nonatomic, getter = isCaching) BOOL caching; 33 | /// Cache time in seconds 34 | @property (nonatomic) NSTimeInterval cacheTime; 35 | /// Downloading flag 36 | @property (nonatomic, readonly, getter = isDownloading) BOOL downloading; 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/Helper/NYXImagesHelper.h: -------------------------------------------------------------------------------- 1 | // 2 | // NYXImagesHelper.h 3 | // NYXImagesKit 4 | // 5 | // Created by Matthias Tretter on 02/06/11. 6 | // Originally Created by @Nyx0uf on 02/05/11. 7 | // Copyright 2012 Nyx0uf. All rights reserved. 8 | // www.cocoaintheshell.com 9 | // 10 | 11 | 12 | /* Number of components for an opaque grey colorSpace = 3 */ 13 | #define kNyxNumberOfComponentsPerGreyPixel 3 14 | /* Number of components for an ARGB pixel (Alpha / Red / Green / Blue) = 4 */ 15 | #define kNyxNumberOfComponentsPerARBGPixel 4 16 | /* Minimun value for a pixel component */ 17 | #define kNyxMinPixelComponentValue (UInt8)0 18 | /* Maximum value for a pixel component */ 19 | #define kNyxMaxPixelComponentValue (UInt8)255 20 | 21 | /* Convert degrees value to radians */ 22 | #define NYX_DEGREES_TO_RADIANS(__DEGREES) (__DEGREES * 0.017453293) // (M_PI / 180.0f) 23 | /* Convert radians value to degrees */ 24 | #define NYX_RADIANS_TO_DEGREES(__RADIANS) (__RADIANS * 57.295779513) // (180.0f / M_PI) 25 | 26 | /* Returns the lower value */ 27 | #define NYX_MIN(__A, __B) ((__A) < (__B) ? (__A) : (__B)) 28 | /* Returns the higher value */ 29 | #define NYX_MAX(__A ,__B) ((__A) > (__B) ? (__A) : (__B)) 30 | /* Returns a correct value for a pixel component (0 - 255) */ 31 | #define NYX_SAFE_PIXEL_COMPONENT_VALUE(__COLOR) (NYX_MIN(kNyxMaxPixelComponentValue, NYX_MAX(kNyxMinPixelComponentValue, __COLOR))) 32 | 33 | /* iOS version runtime check */ 34 | #define NYX_IOS_VERSION_LESS_THAN(__VERSIONSTRING) ([[[UIDevice currentDevice] systemVersion] compare:__VERSIONSTRING options:NSNumericSearch] == NSOrderedAscending) 35 | 36 | /* dispatch_release() not needed in iOS 6+ original idea from FMDB https://github.com/ccgus/fmdb/commit/aef763eeb64e6fa654e7d121f1df4c16a98d9f4f */ 37 | #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000 38 | #define NYX_DISPATCH_RELEASE(__QUEUE) 39 | #else 40 | #define NYX_DISPATCH_RELEASE(__QUEUE) (dispatch_release(__QUEUE)) 41 | #endif 42 | 43 | CGContextRef NYXCreateARGBBitmapContext(const size_t width, const size_t height, const size_t bytesPerRow, BOOL withAlpha); 44 | CGImageRef NYXCreateGradientImage(const size_t pixelsWide, const size_t pixelsHigh, const CGFloat fromAlpha, const CGFloat toAlpha); 45 | CIContext* NYXGetCIContext(void); 46 | CGColorSpaceRef NYXGetRGBColorSpace(void); 47 | void NYXImagesKitRelease(void); 48 | BOOL NYXImageHasAlpha(CGImageRef imageRef); 49 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/Helper/NYXImagesKit.h: -------------------------------------------------------------------------------- 1 | // 2 | // NYXImagesKit.h 3 | // NYXImagesKit 4 | // 5 | // Created by @Nyx0uf on 02/05/11. 6 | // Copyright 2012 Nyx0uf. All rights reserved. 7 | // www.cocoaintheshell.com 8 | // 9 | 10 | #import 11 | 12 | #import "UIImage+Blurring.h" 13 | #import "UIImage+Enhancing.h" 14 | #import "UIImage+Filtering.h" 15 | #import "UIImage+Masking.h" 16 | #import "UIImage+Reflection.h" 17 | #import "UIImage+Resizing.h" 18 | #import "UIImage+Rotating.h" 19 | #import "UIImage+Saving.h" 20 | #import "UIView+Screenshot.h" 21 | #import "UIScrollView+Screenshot.h" 22 | #import "NYXProgressiveImageView.h" 23 | -------------------------------------------------------------------------------- /Pods/NYXImagesKit/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2011 Benjamin Godard. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without modification, are 4 | permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, this list of 7 | conditions and the following disclaimer. 8 | 9 | 2. Redistributions in binary form must reproduce the above copyright notice, this list 10 | of conditions and the following disclaimer in the documentation and/or other materials 11 | provided with the distribution. 12 | 13 | THIS SOFTWARE IS PROVIDED BY BENJAMIN GODARD ``AS IS'' AND ANY EXPRESS OR IMPLIED 14 | WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 15 | FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BENJAMIN GODARD OR 16 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 17 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 18 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 19 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 20 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 21 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 22 | 23 | The views and conclusions contained in the software and documentation are those of the 24 | authors and should not be interpreted as representing official policies, either expressed 25 | or implied, of Benjamin Godard. -------------------------------------------------------------------------------- /Pods/SDWebImage/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009 Olivier Poitrey 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | 21 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/NSData+ImageContentType.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Fabrice Aneche on 06/01/14. 3 | // Copyright (c) 2014 Dailymotion. All rights reserved. 4 | // 5 | 6 | #import 7 | 8 | @interface NSData (ImageContentType) 9 | 10 | /** 11 | * Compute the content type for an image data 12 | * 13 | * @param data the input data 14 | * 15 | * @return the content type as string (i.e. image/jpeg, image/gif) 16 | */ 17 | + (NSString *)sd_contentTypeForImageData:(NSData *)data; 18 | 19 | @end 20 | 21 | 22 | @interface NSData (ImageContentTypeDeprecated) 23 | 24 | + (NSString *)contentTypeForImageData:(NSData *)data __deprecated_msg("Use `sd_contentTypeForImageData:`"); 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/NSData+ImageContentType.m: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Fabrice Aneche on 06/01/14. 3 | // Copyright (c) 2014 Dailymotion. All rights reserved. 4 | // 5 | 6 | #import "NSData+ImageContentType.h" 7 | 8 | 9 | @implementation NSData (ImageContentType) 10 | 11 | + (NSString *)sd_contentTypeForImageData:(NSData *)data { 12 | uint8_t c; 13 | [data getBytes:&c length:1]; 14 | switch (c) { 15 | case 0xFF: 16 | return @"image/jpeg"; 17 | case 0x89: 18 | return @"image/png"; 19 | case 0x47: 20 | return @"image/gif"; 21 | case 0x49: 22 | case 0x4D: 23 | return @"image/tiff"; 24 | case 0x52: 25 | // R as RIFF for WEBP 26 | if ([data length] < 12) { 27 | return nil; 28 | } 29 | 30 | NSString *testString = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(0, 12)] encoding:NSASCIIStringEncoding]; 31 | if ([testString hasPrefix:@"RIFF"] && [testString hasSuffix:@"WEBP"]) { 32 | return @"image/webp"; 33 | } 34 | 35 | return nil; 36 | } 37 | return nil; 38 | } 39 | 40 | @end 41 | 42 | 43 | @implementation NSData (ImageContentTypeDeprecated) 44 | 45 | + (NSString *)contentTypeForImageData:(NSData *)data { 46 | return [self sd_contentTypeForImageData:data]; 47 | } 48 | 49 | @end 50 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/SDWebImageCompat.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * (c) Jamie Pinkham 5 | * 6 | * For the full copyright and license information, please view the LICENSE 7 | * file that was distributed with this source code. 8 | */ 9 | 10 | #import 11 | 12 | #ifdef __OBJC_GC__ 13 | #error SDWebImage does not support Objective-C Garbage Collection 14 | #endif 15 | 16 | #if __IPHONE_OS_VERSION_MIN_REQUIRED != 20000 && __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_0 17 | #error SDWebImage doesn't support Deployement Target version < 5.0 18 | #endif 19 | 20 | #if !TARGET_OS_IPHONE 21 | #import 22 | #ifndef UIImage 23 | #define UIImage NSImage 24 | #endif 25 | #ifndef UIImageView 26 | #define UIImageView NSImageView 27 | #endif 28 | #else 29 | 30 | #import 31 | 32 | #endif 33 | 34 | #ifndef NS_ENUM 35 | #define NS_ENUM(_type, _name) enum _name : _type _name; enum _name : _type 36 | #endif 37 | 38 | #ifndef NS_OPTIONS 39 | #define NS_OPTIONS(_type, _name) enum _name : _type _name; enum _name : _type 40 | #endif 41 | 42 | #if OS_OBJECT_USE_OBJC 43 | #undef SDDispatchQueueRelease 44 | #undef SDDispatchQueueSetterSementics 45 | #define SDDispatchQueueRelease(q) 46 | #define SDDispatchQueueSetterSementics strong 47 | #else 48 | #undef SDDispatchQueueRelease 49 | #undef SDDispatchQueueSetterSementics 50 | #define SDDispatchQueueRelease(q) (dispatch_release(q)) 51 | #define SDDispatchQueueSetterSementics assign 52 | #endif 53 | 54 | extern UIImage *SDScaledImageForKey(NSString *key, UIImage *image); 55 | 56 | typedef void(^SDWebImageNoParamsBlock)(); 57 | 58 | extern NSString *const SDWebImageErrorDomain; 59 | 60 | #define dispatch_main_sync_safe(block)\ 61 | if ([NSThread isMainThread]) {\ 62 | block();\ 63 | } else {\ 64 | dispatch_sync(dispatch_get_main_queue(), block);\ 65 | } 66 | 67 | #define dispatch_main_async_safe(block)\ 68 | if ([NSThread isMainThread]) {\ 69 | block();\ 70 | } else {\ 71 | dispatch_async(dispatch_get_main_queue(), block);\ 72 | } 73 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/SDWebImageCompat.m: -------------------------------------------------------------------------------- 1 | // 2 | // SDWebImageCompat.m 3 | // SDWebImage 4 | // 5 | // Created by Olivier Poitrey on 11/12/12. 6 | // Copyright (c) 2012 Dailymotion. All rights reserved. 7 | // 8 | 9 | #import "SDWebImageCompat.h" 10 | 11 | #if !__has_feature(objc_arc) 12 | #error SDWebImage is ARC only. Either turn on ARC for the project or use -fobjc-arc flag 13 | #endif 14 | 15 | inline UIImage *SDScaledImageForKey(NSString *key, UIImage *image) { 16 | if (!image) { 17 | return nil; 18 | } 19 | 20 | if ([image.images count] > 0) { 21 | NSMutableArray *scaledImages = [NSMutableArray array]; 22 | 23 | for (UIImage *tempImage in image.images) { 24 | [scaledImages addObject:SDScaledImageForKey(key, tempImage)]; 25 | } 26 | 27 | return [UIImage animatedImageWithImages:scaledImages duration:image.duration]; 28 | } 29 | else { 30 | if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) { 31 | CGFloat scale = 1.0; 32 | if (key.length >= 8) { 33 | NSRange range = [key rangeOfString:@"@2x."]; 34 | if (range.location != NSNotFound) { 35 | scale = 2.0; 36 | } 37 | 38 | range = [key rangeOfString:@"@3x."]; 39 | if (range.location != NSNotFound) { 40 | scale = 3.0; 41 | } 42 | } 43 | 44 | UIImage *scaledImage = [[UIImage alloc] initWithCGImage:image.CGImage scale:scale orientation:image.imageOrientation]; 45 | image = scaledImage; 46 | } 47 | return image; 48 | } 49 | } 50 | 51 | NSString *const SDWebImageErrorDomain = @"SDWebImageErrorDomain"; 52 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/SDWebImageDecoder.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * Created by james on 9/28/11. 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | #import 12 | #import "SDWebImageCompat.h" 13 | 14 | @interface UIImage (ForceDecode) 15 | 16 | + (UIImage *)decodedImageWithImage:(UIImage *)image; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/SDWebImageOperation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import 10 | 11 | @protocol SDWebImageOperation 12 | 13 | - (void)cancel; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/UIImage+GIF.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+GIF.h 3 | // LBGIFImage 4 | // 5 | // Created by Laurin Brandner on 06.01.12. 6 | // Copyright (c) 2012 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIImage (GIF) 12 | 13 | + (UIImage *)sd_animatedGIFNamed:(NSString *)name; 14 | 15 | + (UIImage *)sd_animatedGIFWithData:(NSData *)data; 16 | 17 | - (UIImage *)sd_animatedImageByScalingAndCroppingToSize:(CGSize)size; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/UIImage+MultiFormat.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+MultiFormat.h 3 | // SDWebImage 4 | // 5 | // Created by Olivier Poitrey on 07/06/13. 6 | // Copyright (c) 2013 Dailymotion. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIImage (MultiFormat) 12 | 13 | + (UIImage *)sd_imageWithData:(NSData *)data; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/UIView+WebCacheOperation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import 10 | #import "SDWebImageManager.h" 11 | 12 | @interface UIView (WebCacheOperation) 13 | 14 | /** 15 | * Set the image load operation (storage in a UIView based dictionary) 16 | * 17 | * @param operation the operation 18 | * @param key key for storing the operation 19 | */ 20 | - (void)sd_setImageLoadOperation:(id)operation forKey:(NSString *)key; 21 | 22 | /** 23 | * Cancel all operations for the current UIView and key 24 | * 25 | * @param key key for identifying the operations 26 | */ 27 | - (void)sd_cancelImageLoadOperationWithKey:(NSString *)key; 28 | 29 | /** 30 | * Just remove the operations corresponding to the current UIView and key without cancelling them 31 | * 32 | * @param key key for identifying the operations 33 | */ 34 | - (void)sd_removeImageLoadOperationWithKey:(NSString *)key; 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/UIView+WebCacheOperation.m: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import "UIView+WebCacheOperation.h" 10 | #import "objc/runtime.h" 11 | 12 | static char loadOperationKey; 13 | 14 | @implementation UIView (WebCacheOperation) 15 | 16 | - (NSMutableDictionary *)operationDictionary { 17 | NSMutableDictionary *operations = objc_getAssociatedObject(self, &loadOperationKey); 18 | if (operations) { 19 | return operations; 20 | } 21 | operations = [NSMutableDictionary dictionary]; 22 | objc_setAssociatedObject(self, &loadOperationKey, operations, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 23 | return operations; 24 | } 25 | 26 | - (void)sd_setImageLoadOperation:(id)operation forKey:(NSString *)key { 27 | [self sd_cancelImageLoadOperationWithKey:key]; 28 | NSMutableDictionary *operationDictionary = [self operationDictionary]; 29 | [operationDictionary setObject:operation forKey:key]; 30 | } 31 | 32 | - (void)sd_cancelImageLoadOperationWithKey:(NSString *)key { 33 | // Cancel in progress downloader from queue 34 | NSMutableDictionary *operationDictionary = [self operationDictionary]; 35 | id operations = [operationDictionary objectForKey:key]; 36 | if (operations) { 37 | if ([operations isKindOfClass:[NSArray class]]) { 38 | for (id operation in operations) { 39 | if (operation) { 40 | [operation cancel]; 41 | } 42 | } 43 | } else if ([operations conformsToProtocol:@protocol(SDWebImageOperation)]){ 44 | [(id) operations cancel]; 45 | } 46 | [operationDictionary removeObjectForKey:key]; 47 | } 48 | } 49 | 50 | - (void)sd_removeImageLoadOperationWithKey:(NSString *)key { 51 | NSMutableDictionary *operationDictionary = [self operationDictionary]; 52 | [operationDictionary removeObjectForKey:key]; 53 | } 54 | 55 | @end 56 | -------------------------------------------------------------------------------- /Pods/SMPageControl/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2012 by Spaceman Labs (http://www.spacemanlabs.com) 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /Pods/Target Support Files/AFNetworking/AFNetworking-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "AFNetworking.xcconfig" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/AFNetworking" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/NYXImagesKit" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SMPageControl" "${PODS_ROOT}/Headers/Public/iCarousel" 4 | OTHER_LDFLAGS = ${AFNETWORKING_OTHER_LDFLAGS} 5 | PODS_ROOT = ${SRCROOT} 6 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /Pods/Target Support Files/AFNetworking/AFNetworking-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_AFNetworking : NSObject 3 | @end 4 | @implementation PodsDummy_AFNetworking 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/AFNetworking/AFNetworking-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig: -------------------------------------------------------------------------------- 1 | AFNETWORKING_OTHER_LDFLAGS = -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" -------------------------------------------------------------------------------- /Pods/Target Support Files/JazzHands/JazzHands-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "JazzHands.xcconfig" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/JazzHands" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/NYXImagesKit" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SMPageControl" "${PODS_ROOT}/Headers/Public/iCarousel" 4 | OTHER_LDFLAGS = ${JAZZHANDS_OTHER_LDFLAGS} 5 | PODS_ROOT = ${SRCROOT} 6 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /Pods/Target Support Files/JazzHands/JazzHands-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_JazzHands : NSObject 3 | @end 4 | @implementation PodsDummy_JazzHands 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/JazzHands/JazzHands-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /Pods/Target Support Files/JazzHands/JazzHands.xcconfig: -------------------------------------------------------------------------------- 1 | JAZZHANDS_OTHER_LDFLAGS = -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -framework "UIKit" -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Masonry.xcconfig" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Masonry" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/NYXImagesKit" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SMPageControl" "${PODS_ROOT}/Headers/Public/iCarousel" 4 | OTHER_LDFLAGS = ${MASONRY_OTHER_LDFLAGS} 5 | PODS_ROOT = ${SRCROOT} 6 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Masonry : NSObject 3 | @end 4 | @implementation PodsDummy_Masonry 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry.xcconfig: -------------------------------------------------------------------------------- 1 | MASONRY_OTHER_LDFLAGS = -framework "Foundation" -framework "UIKit" -------------------------------------------------------------------------------- /Pods/Target Support Files/NYXImagesKit/NYXImagesKit-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "NYXImagesKit.xcconfig" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/NYXImagesKit" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/NYXImagesKit" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SMPageControl" "${PODS_ROOT}/Headers/Public/iCarousel" 4 | OTHER_LDFLAGS = ${NYXIMAGESKIT_OTHER_LDFLAGS} 5 | PODS_ROOT = ${SRCROOT} 6 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /Pods/Target Support Files/NYXImagesKit/NYXImagesKit-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_NYXImagesKit : NSObject 3 | @end 4 | @implementation PodsDummy_NYXImagesKit 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/NYXImagesKit/NYXImagesKit-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /Pods/Target Support Files/NYXImagesKit/NYXImagesKit.xcconfig: -------------------------------------------------------------------------------- 1 | NYXIMAGESKIT_OTHER_LDFLAGS = -framework "Accelerate" -framework "AssetsLibrary" -framework "CoreImage" -framework "ImageIO" -framework "MobileCoreServices" -framework "QuartzCore" -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Coding-StartGuidePage-01/Pods-Coding-StartGuidePage-01-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_Coding_StartGuidePage_01 : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_Coding_StartGuidePage_01 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Coding-StartGuidePage-01/Pods-Coding-StartGuidePage-01.debug.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/NYXImagesKit" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SMPageControl" "${PODS_ROOT}/Headers/Public/iCarousel" 3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/JazzHands" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/NYXImagesKit" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" -isystem "${PODS_ROOT}/Headers/Public/SMPageControl" -isystem "${PODS_ROOT}/Headers/Public/iCarousel" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"JazzHands" -l"Masonry" -l"NYXImagesKit" -l"SDWebImage" -l"SMPageControl" -l"iCarousel" -framework "Accelerate" -framework "AssetsLibrary" -framework "CoreGraphics" -framework "CoreImage" -framework "Foundation" -framework "ImageIO" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" 5 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Coding-StartGuidePage-01/Pods-Coding-StartGuidePage-01.release.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/NYXImagesKit" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SMPageControl" "${PODS_ROOT}/Headers/Public/iCarousel" 3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/JazzHands" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/NYXImagesKit" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" -isystem "${PODS_ROOT}/Headers/Public/SMPageControl" -isystem "${PODS_ROOT}/Headers/Public/iCarousel" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"JazzHands" -l"Masonry" -l"NYXImagesKit" -l"SDWebImage" -l"SMPageControl" -l"iCarousel" -framework "Accelerate" -framework "AssetsLibrary" -framework "CoreGraphics" -framework "CoreImage" -framework "Foundation" -framework "ImageIO" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" 5 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /Pods/Target Support Files/SDWebImage/SDWebImage-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "SDWebImage.xcconfig" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/SDWebImage" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/NYXImagesKit" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SMPageControl" "${PODS_ROOT}/Headers/Public/iCarousel" 4 | OTHER_LDFLAGS = ${SDWEBIMAGE_OTHER_LDFLAGS} 5 | PODS_ROOT = ${SRCROOT} 6 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /Pods/Target Support Files/SDWebImage/SDWebImage-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_SDWebImage : NSObject 3 | @end 4 | @implementation PodsDummy_SDWebImage 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SDWebImage/SDWebImage-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SDWebImage/SDWebImage.xcconfig: -------------------------------------------------------------------------------- 1 | SDWEBIMAGE_OTHER_LDFLAGS = -framework "ImageIO" -------------------------------------------------------------------------------- /Pods/Target Support Files/SMPageControl/SMPageControl-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "SMPageControl.xcconfig" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/SMPageControl" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/NYXImagesKit" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SMPageControl" "${PODS_ROOT}/Headers/Public/iCarousel" 4 | PODS_ROOT = ${SRCROOT} 5 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /Pods/Target Support Files/SMPageControl/SMPageControl-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_SMPageControl : NSObject 3 | @end 4 | @implementation PodsDummy_SMPageControl 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SMPageControl/SMPageControl-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SMPageControl/SMPageControl.xcconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/Pods/Target Support Files/SMPageControl/SMPageControl.xcconfig -------------------------------------------------------------------------------- /Pods/Target Support Files/iCarousel/iCarousel-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "iCarousel.xcconfig" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/iCarousel" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/JazzHands" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/NYXImagesKit" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SMPageControl" "${PODS_ROOT}/Headers/Public/iCarousel" 4 | OTHER_LDFLAGS = ${ICAROUSEL_OTHER_LDFLAGS} 5 | PODS_ROOT = ${SRCROOT} 6 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /Pods/Target Support Files/iCarousel/iCarousel-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_iCarousel : NSObject 3 | @end 4 | @implementation PodsDummy_iCarousel 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/iCarousel/iCarousel-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /Pods/Target Support Files/iCarousel/iCarousel.xcconfig: -------------------------------------------------------------------------------- 1 | ICAROUSEL_OTHER_LDFLAGS = -framework "QuartzCore" -------------------------------------------------------------------------------- /Pods/iCarousel/LICENCE.md: -------------------------------------------------------------------------------- 1 | iCarousel 2 | 3 | Version 1.8.1, October 13th, 2014 4 | 5 | Copyright (C) 2011 Charcoal Design 6 | 7 | This software is provided 'as-is', without any express or implied 8 | warranty. In no event will the authors be held liable for any damages 9 | arising from the use of this software. 10 | 11 | Permission is granted to anyone to use this software for any purpose, 12 | including commercial applications, and to alter it and redistribute it 13 | freely, subject to the following restrictions: 14 | 15 | 1. The origin of this software must not be misrepresented; you must not 16 | claim that you wrote the original software. If you use this software 17 | in a product, an acknowledgment in the product documentation would be 18 | appreciated but is not required. 19 | 20 | 2. Altered source versions must be plainly marked as such, and must not be 21 | misrepresented as being the original software. 22 | 23 | 3. This notice may not be removed or altered from any source distribution. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Coding-StartGuidePage-01 2 | IOS开源Coding客户端学习——(一)启动引导页面 3 | *** 4 | #效果图一 5 | ![image](https://github.com/hanhailong/Coding-StartGuidePage-01/blob/master/screenshot/start_guide_01.gif) 6 | 7 | #效果图二 8 | ![image](https://github.com/hanhailong/Coding-StartGuidePage-01/blob/master/screenshot/start_guide_01_02.gif) -------------------------------------------------------------------------------- /screenshot/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/screenshot/.DS_Store -------------------------------------------------------------------------------- /screenshot/start_guide_01.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/screenshot/start_guide_01.gif -------------------------------------------------------------------------------- /screenshot/start_guide_01_02.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanhailong/Coding-StartGuidePage-01/4ccac2639f4b0d9d757258f8efcf9d54414df7d9/screenshot/start_guide_01_02.gif --------------------------------------------------------------------------------