From 7f18fdd6c8f71c262859db28f66e5bc5cc1f118d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanpe=20Catala=CC=81n?= Date: Tue, 7 Nov 2017 20:10:53 +0100 Subject: [PATCH] feat: Initial commit. Generate project with SwiftPlate --- .swift-version | 1 + Assets/flatcolors.png | Bin 0 -> 115748 bytes Assets/multilines.png | Bin 0 -> 168216 bytes Assets/storyboard.png | Bin 0 -> 27652 bytes Configs/SkeletonView.plist | 24 + Configs/SkeletonViewExampleInfo.plist | 45 ++ Example/AppDelegate.swift | 46 ++ .../AppIcon.appiconset/Contents.json | 93 +++ Example/Base.lproj/LaunchScreen.storyboard | 25 + Example/Base.lproj/Main.storyboard | 175 ++++++ Example/Cell.swift | 49 ++ Example/ViewController.swift | 97 +++ LICENSE | 22 + Package.swift | 21 + SkeletonView.podspec | 19 + SkeletonView.xcodeproj/project.pbxproj | 589 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcschemes/SkeletonView-iOS.xcscheme | 82 +++ .../CollectionSkeletonProtocol.swift | 79 +++ .../SkeletonCollectionDataSource.swift | 57 ++ .../SkeletonUICollectionViewDataSource.swift | 11 + .../SkeletonUITableViewDataSource.swift | 24 + Sources/Extensions/CALayer+Extensions.swift | 103 +++ Sources/Extensions/UIColor+Skeleton.swift | 63 ++ Sources/Extensions/UIView+Frame.swift | 40 ++ Sources/Extensions/UIView+IBInspectable.swift | 52 ++ Sources/Helpers/AssociationPolicy.swift | 23 + Sources/Helpers/ContainsMultilineText.swift | 24 + .../Helpers/PrepareForSkeletonProtocol.swift | 31 + Sources/Helpers/RecursiveProtocol.swift | 37 ++ Sources/SkeletonDefaultConfig.swift | 20 + Sources/SkeletonGradient.swift | 26 + Sources/SkeletonLayer.swift | 96 +++ Sources/SkeletonView.swift | 123 ++++ 34 files changed, 2104 insertions(+) create mode 100755 .swift-version create mode 100644 Assets/flatcolors.png create mode 100644 Assets/multilines.png create mode 100644 Assets/storyboard.png create mode 100644 Configs/SkeletonView.plist create mode 100644 Configs/SkeletonViewExampleInfo.plist create mode 100644 Example/AppDelegate.swift create mode 100644 Example/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Example/Base.lproj/LaunchScreen.storyboard create mode 100644 Example/Base.lproj/Main.storyboard create mode 100644 Example/Cell.swift create mode 100644 Example/ViewController.swift create mode 100644 LICENSE create mode 100644 Package.swift create mode 100644 SkeletonView.podspec create mode 100644 SkeletonView.xcodeproj/project.pbxproj create mode 100644 SkeletonView.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 SkeletonView.xcodeproj/xcshareddata/xcschemes/SkeletonView-iOS.xcscheme create mode 100644 Sources/Collections/CollectionSkeletonProtocol.swift create mode 100644 Sources/Collections/SkeletonCollectionDataSource.swift create mode 100644 Sources/Collections/SkeletonUICollectionViewDataSource.swift create mode 100644 Sources/Collections/SkeletonUITableViewDataSource.swift create mode 100644 Sources/Extensions/CALayer+Extensions.swift create mode 100644 Sources/Extensions/UIColor+Skeleton.swift create mode 100644 Sources/Extensions/UIView+Frame.swift create mode 100644 Sources/Extensions/UIView+IBInspectable.swift create mode 100644 Sources/Helpers/AssociationPolicy.swift create mode 100644 Sources/Helpers/ContainsMultilineText.swift create mode 100644 Sources/Helpers/PrepareForSkeletonProtocol.swift create mode 100644 Sources/Helpers/RecursiveProtocol.swift create mode 100644 Sources/SkeletonDefaultConfig.swift create mode 100644 Sources/SkeletonGradient.swift create mode 100644 Sources/SkeletonLayer.swift create mode 100644 Sources/SkeletonView.swift diff --git a/.swift-version b/.swift-version new file mode 100755 index 0000000..5186d07 --- /dev/null +++ b/.swift-version @@ -0,0 +1 @@ +4.0 diff --git a/Assets/flatcolors.png b/Assets/flatcolors.png new file mode 100644 index 0000000000000000000000000000000000000000..97333e6e70735582d196c21adcf075b358a837f3 GIT binary patch literal 115748 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�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 K_PyoJ75*P7J_g?a literal 0 HcmV?d00001 diff --git a/Assets/storyboard.png b/Assets/storyboard.png new file mode 100644 index 0000000000000000000000000000000000000000..8b3a8d5b0db8d925e5ca11834830de617ce9dcbe GIT binary patch literal 27652 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 chQQuZ=`Vg-}o& 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 + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + + diff --git a/Configs/SkeletonViewExampleInfo.plist b/Configs/SkeletonViewExampleInfo.plist new file mode 100644 index 0000000..16be3b6 --- /dev/null +++ b/Configs/SkeletonViewExampleInfo.plist @@ -0,0 +1,45 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Example/AppDelegate.swift b/Example/AppDelegate.swift new file mode 100644 index 0000000..14c0a19 --- /dev/null +++ b/Example/AppDelegate.swift @@ -0,0 +1,46 @@ +// +// AppDelegate.swift +// SkeletonViewExample +// +// Created by Juanpe Catalán on 02/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import UIKit + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + // Override point for customization after application launch. + return true + } + + func applicationWillResignActive(_ application: UIApplication) { + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. + } + + func applicationDidEnterBackground(_ application: UIApplication) { + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. + } + + func applicationWillEnterForeground(_ application: UIApplication) { + // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. + } + + func applicationDidBecomeActive(_ application: UIApplication) { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. + } + + func applicationWillTerminate(_ application: UIApplication) { + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. + } + + +} + diff --git a/Example/Assets.xcassets/AppIcon.appiconset/Contents.json b/Example/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..1d060ed --- /dev/null +++ b/Example/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,93 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Base.lproj/LaunchScreen.storyboard b/Example/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f83f6fd --- /dev/null +++ b/Example/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Base.lproj/Main.storyboard b/Example/Base.lproj/Main.storyboard new file mode 100644 index 0000000..121a363 --- /dev/null +++ b/Example/Base.lproj/Main.storyboard @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Cell.swift b/Example/Cell.swift new file mode 100644 index 0000000..e8d6d36 --- /dev/null +++ b/Example/Cell.swift @@ -0,0 +1,49 @@ +// +// Cell.swift +// SkeletonViewExample +// +// Created by Juanpe Catalán on 03/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import UIKit + +class Cell: UITableViewCell { + + @IBOutlet weak var avatar: UIImageView! + @IBOutlet weak var label1: UILabel! + + override func awakeFromNib() { + super.awakeFromNib() + } + + func drawCell(row: Int) { + let urlString = "https://randomuser.me/api/portraits/men/\(row+10).jpg" + avatar.downloadedFrom(link: urlString) + } +} + +extension UIImageView { + + func downloadedFrom(url: URL, contentMode mode: UIViewContentMode = .scaleAspectFit) { + contentMode = mode + showAnimatedSkeleton() + URLSession.shared.dataTask(with: url) { (data, response, error) in + guard + let httpURLResponse = response as? HTTPURLResponse, httpURLResponse.statusCode == 200, + let mimeType = response?.mimeType, mimeType.hasPrefix("image"), + let data = data, error == nil, + let image = UIImage(data: data) + else { return } + DispatchQueue.main.async() { () -> Void in + self.image = image + self.hideSkeleton() + } + }.resume() + } + + func downloadedFrom(link: String, contentMode mode: UIViewContentMode = .scaleAspectFit) { + guard let url = URL(string: link) else { return } + downloadedFrom(url: url, contentMode: mode) + } +} diff --git a/Example/ViewController.swift b/Example/ViewController.swift new file mode 100644 index 0000000..6de33c2 --- /dev/null +++ b/Example/ViewController.swift @@ -0,0 +1,97 @@ +// +// ViewController.swift +// SkeletonViewExample +// +// Created by Juanpe Catalán on 02/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import UIKit +import SkeletonView + +class ViewController: UIViewController { + + @IBOutlet weak var tableview: UITableView! + + override func viewDidLoad() { + super.viewDidLoad() + + view.isSkeletonable = true + +// view.showAnimatedGradientSkeleton() +// view.showAnimatedSkeleton(usingColor: UIColor.sunFlower) + +// view.showAnimatedGradientSkeleton(usingGradient: SkeletonGradient(baseColor: UIColor.red, secundaryColor: UIColor.green)) +// view.showAnimatedGradientSkeleton(usingGradient: SkeletonGradient(baseColor: UIColor.belizeHole)) +// sendrequest() + } + + override func viewDidAppear(_ animated: Bool) { + super.viewDidAppear(animated) +// view.showAnimatedGradientSkeleton() + view.showSkeleton() + } + + func sendrequest() { + + let url = URL(string: "https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY") + + let task = URLSession.shared.dataTask(with: url!) { (data, response, error) in + + if let data = data { + do { + // Convert the data to JSON + let jsonSerialized = try JSONSerialization.jsonObject(with: data, options: []) as? [String : Any] + + if let json = jsonSerialized, let url = json["url"], let explanation = json["explanation"] { + print(url) + print(explanation) + DispatchQueue.main.async { +// self.view.hideSkeleton(reloadDataAfter: false) +// self.tableview.reloadData() + } + } + } catch let error as NSError { + print(error.localizedDescription) + } + } else if let error = error { + print(error.localizedDescription) + } + } + + task.resume() + } + + @IBAction func hideSkeletons(_ sender: Any) { + view.hideSkeleton() + } + + @IBAction func show(_ sender: Any) { +// view.showAnimatedSkeleton(usingColor: UIColor.clouds) + view.showGradientSkeleton() + DispatchQueue.main.asyncAfter(deadline: .now() + 2) { + self.view.startSkeletonAnimation() + } +// view.showGradientSkeleton(withDirection: .rightLeft) +// view.showAnimatedGradientSkeleton() + } +} + +extension ViewController: SkeletonUITableViewDataSource { + + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return 9 + } + + func collectionSkeletonView(_ skeletonView: UITableView, cellIdenfierForRowAt indexPath: IndexPath) -> ReusableCellIdentifier { + return "CellIdentifier" + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: "CellIdentifier", for: indexPath) as! Cell + cell.label1.text = "cell => \(indexPath.row)" + cell.drawCell(row: indexPath.row) + return cell + } +} + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..4fe2119 --- /dev/null +++ b/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2017 Juanpe Catalán + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..dfd46f8 --- /dev/null +++ b/Package.swift @@ -0,0 +1,21 @@ +// swift-tools-version:4.0 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "SkeletonView", + products: [ + .library( + name: "SkeletonView", + targets: ["SkeletonView"]), + ], + targets: [ + .target( + name: "SkeletonView", + dependencies: []), + .testTarget( + name: "SkeletonViewTests", + dependencies: ["SkeletonView"]), + ] +) diff --git a/SkeletonView.podspec b/SkeletonView.podspec new file mode 100644 index 0000000..4b74029 --- /dev/null +++ b/SkeletonView.podspec @@ -0,0 +1,19 @@ +Pod::Spec.new do |s| + s.name = "SkeletonView" + s.version = "0.1" + s.summary = "" + s.description = <<-DESC + Your description here. + DESC + s.homepage = "" + s.license = { :type => "MIT", :file => "LICENSE" } + s.author = { "Juanpe Catalán" => "juanpecm@gmail.com" } + s.social_media_url = "" + s.ios.deployment_target = "8.0" + s.osx.deployment_target = "10.9" + s.watchos.deployment_target = "2.0" + s.tvos.deployment_target = "9.0" + s.source = { :git => ".git", :tag => s.version.to_s } + s.source_files = "Sources/**/*" + s.frameworks = "Foundation" +end diff --git a/SkeletonView.xcodeproj/project.pbxproj b/SkeletonView.xcodeproj/project.pbxproj new file mode 100644 index 0000000..5d65dcf --- /dev/null +++ b/SkeletonView.xcodeproj/project.pbxproj @@ -0,0 +1,589 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 47; + objects = { + +/* Begin PBXBuildFile section */ + 8933C7851EB5B820000D00A4 /* SkeletonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8933C7841EB5B820000D00A4 /* SkeletonView.swift */; }; + F5307E2C1FAF6BC900EE67C5 /* SkeletonGradient.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5307E2B1FAF6BC900EE67C5 /* SkeletonGradient.swift */; }; + F5307E2E1FB0E5E400EE67C5 /* UIView+Frame.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5307E2D1FB0E5E400EE67C5 /* UIView+Frame.swift */; }; + F5307E301FB0EC9D00EE67C5 /* SkeletonDefaultConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5307E2F1FB0EC9D00EE67C5 /* SkeletonDefaultConfig.swift */; }; + F5307E321FB0F42F00EE67C5 /* RecursiveProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5307E311FB0F42F00EE67C5 /* RecursiveProtocol.swift */; }; + F5307E371FB1076E00EE67C5 /* SkeletonUITableViewDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5307E361FB1076E00EE67C5 /* SkeletonUITableViewDataSource.swift */; }; + F5307E391FB1078E00EE67C5 /* SkeletonUICollectionViewDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5307E381FB1078E00EE67C5 /* SkeletonUICollectionViewDataSource.swift */; }; + F5307E3B1FB123C100EE67C5 /* ContainsMultilineText.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5307E3A1FB123C100EE67C5 /* ContainsMultilineText.swift */; }; + F56B94461FAE20AF0095662F /* PrepareForSkeletonProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = F56B94451FAE20AF0095662F /* PrepareForSkeletonProtocol.swift */; }; + F5F622411FAC6E31007C062A /* UIColor+Skeleton.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5F622401FAC6E31007C062A /* UIColor+Skeleton.swift */; }; + F5F622431FAC81FD007C062A /* CALayer+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5F622421FAC81FD007C062A /* CALayer+Extensions.swift */; }; + F5F622451FACA338007C062A /* Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5F622441FACA338007C062A /* Cell.swift */; }; + F5F899D01FAA6A4D002E8FDA /* UIView+IBInspectable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5F899CF1FAA6A4D002E8FDA /* UIView+IBInspectable.swift */; }; + F5F899D21FAB9630002E8FDA /* AssociationPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5F899D11FAB9630002E8FDA /* AssociationPolicy.swift */; }; + F5F899E91FAB9D2B002E8FDA /* SkeletonLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5F899E81FAB9D2B002E8FDA /* SkeletonLayer.swift */; }; + F5F899EB1FAB9DA3002E8FDA /* SkeletonCollectionDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5F899EA1FAB9DA3002E8FDA /* SkeletonCollectionDataSource.swift */; }; + F5F899ED1FAB9F04002E8FDA /* CollectionSkeletonProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5F899EC1FAB9F04002E8FDA /* CollectionSkeletonProtocol.swift */; }; + F5F899F51FABA607002E8FDA /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5F899F41FABA607002E8FDA /* AppDelegate.swift */; }; + F5F899F71FABA607002E8FDA /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5F899F61FABA607002E8FDA /* ViewController.swift */; }; + F5F899FA1FABA607002E8FDA /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F5F899F81FABA607002E8FDA /* Main.storyboard */; }; + F5F899FC1FABA607002E8FDA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F5F899FB1FABA607002E8FDA /* Assets.xcassets */; }; + F5F899FF1FABA607002E8FDA /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F5F899FD1FABA607002E8FDA /* LaunchScreen.storyboard */; }; + F5F89A051FABA614002E8FDA /* SkeletonView.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52D6D97C1BEFF229002C0205 /* SkeletonView.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 52D6D97C1BEFF229002C0205 /* SkeletonView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SkeletonView.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8933C7841EB5B820000D00A4 /* SkeletonView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SkeletonView.swift; sourceTree = ""; }; + AD2FAA261CD0B6D800659CF4 /* SkeletonView.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = SkeletonView.plist; sourceTree = ""; }; + F5307E2B1FAF6BC900EE67C5 /* SkeletonGradient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SkeletonGradient.swift; sourceTree = ""; }; + F5307E2D1FB0E5E400EE67C5 /* UIView+Frame.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Frame.swift"; sourceTree = ""; }; + F5307E2F1FB0EC9D00EE67C5 /* SkeletonDefaultConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SkeletonDefaultConfig.swift; sourceTree = ""; }; + F5307E311FB0F42F00EE67C5 /* RecursiveProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecursiveProtocol.swift; sourceTree = ""; }; + F5307E361FB1076E00EE67C5 /* SkeletonUITableViewDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SkeletonUITableViewDataSource.swift; sourceTree = ""; }; + F5307E381FB1078E00EE67C5 /* SkeletonUICollectionViewDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SkeletonUICollectionViewDataSource.swift; sourceTree = ""; }; + F5307E3A1FB123C100EE67C5 /* ContainsMultilineText.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContainsMultilineText.swift; sourceTree = ""; }; + F56B94451FAE20AF0095662F /* PrepareForSkeletonProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrepareForSkeletonProtocol.swift; sourceTree = ""; }; + F5F622401FAC6E31007C062A /* UIColor+Skeleton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Skeleton.swift"; sourceTree = ""; }; + F5F622421FAC81FD007C062A /* CALayer+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CALayer+Extensions.swift"; sourceTree = ""; }; + F5F622441FACA338007C062A /* Cell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Cell.swift; sourceTree = ""; }; + F5F899CF1FAA6A4D002E8FDA /* UIView+IBInspectable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+IBInspectable.swift"; sourceTree = ""; }; + F5F899D11FAB9630002E8FDA /* AssociationPolicy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AssociationPolicy.swift; sourceTree = ""; }; + F5F899E81FAB9D2B002E8FDA /* SkeletonLayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SkeletonLayer.swift; sourceTree = ""; }; + F5F899EA1FAB9DA3002E8FDA /* SkeletonCollectionDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SkeletonCollectionDataSource.swift; sourceTree = ""; }; + F5F899EC1FAB9F04002E8FDA /* CollectionSkeletonProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollectionSkeletonProtocol.swift; sourceTree = ""; }; + F5F899F21FABA607002E8FDA /* SkeletonViewExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SkeletonViewExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + F5F899F41FABA607002E8FDA /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + F5F899F61FABA607002E8FDA /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + F5F899F91FABA607002E8FDA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + F5F899FB1FABA607002E8FDA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + F5F899FE1FABA607002E8FDA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + F5F89A001FABA607002E8FDA /* SkeletonViewExampleInfo.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = SkeletonViewExampleInfo.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 52D6D9781BEFF229002C0205 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F5F899EF1FABA607002E8FDA /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F5F89A051FABA614002E8FDA /* SkeletonView.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 52D6D9721BEFF229002C0205 = { + isa = PBXGroup; + children = ( + F5F899F31FABA607002E8FDA /* Example */, + 8933C7811EB5B7E0000D00A4 /* Sources */, + 52D6D99C1BEFF38C002C0205 /* Configs */, + 52D6D97D1BEFF229002C0205 /* Products */, + F5F89A041FABA614002E8FDA /* Frameworks */, + ); + sourceTree = ""; + }; + 52D6D97D1BEFF229002C0205 /* Products */ = { + isa = PBXGroup; + children = ( + 52D6D97C1BEFF229002C0205 /* SkeletonView.framework */, + F5F899F21FABA607002E8FDA /* SkeletonViewExample.app */, + ); + name = Products; + sourceTree = ""; + }; + 52D6D99C1BEFF38C002C0205 /* Configs */ = { + isa = PBXGroup; + children = ( + F5F89A061FABA725002E8FDA /* Example */, + DD7502721C68FC1B006590AF /* Frameworks */, + ); + path = Configs; + sourceTree = ""; + }; + 8933C7811EB5B7E0000D00A4 /* Sources */ = { + isa = PBXGroup; + children = ( + F5307E331FB1068500EE67C5 /* Collections */, + F5307E341FB106A500EE67C5 /* Extensions */, + F5307E351FB106BF00EE67C5 /* Helpers */, + F5307E2F1FB0EC9D00EE67C5 /* SkeletonDefaultConfig.swift */, + F5307E2B1FAF6BC900EE67C5 /* SkeletonGradient.swift */, + F5F899E81FAB9D2B002E8FDA /* SkeletonLayer.swift */, + 8933C7841EB5B820000D00A4 /* SkeletonView.swift */, + ); + path = Sources; + sourceTree = ""; + }; + DD7502721C68FC1B006590AF /* Frameworks */ = { + isa = PBXGroup; + children = ( + AD2FAA261CD0B6D800659CF4 /* SkeletonView.plist */, + ); + name = Frameworks; + sourceTree = ""; + }; + F5307E331FB1068500EE67C5 /* Collections */ = { + isa = PBXGroup; + children = ( + F5F899EC1FAB9F04002E8FDA /* CollectionSkeletonProtocol.swift */, + F5F899EA1FAB9DA3002E8FDA /* SkeletonCollectionDataSource.swift */, + F5307E381FB1078E00EE67C5 /* SkeletonUICollectionViewDataSource.swift */, + F5307E361FB1076E00EE67C5 /* SkeletonUITableViewDataSource.swift */, + ); + path = Collections; + sourceTree = ""; + }; + F5307E341FB106A500EE67C5 /* Extensions */ = { + isa = PBXGroup; + children = ( + F5F622421FAC81FD007C062A /* CALayer+Extensions.swift */, + F5F622401FAC6E31007C062A /* UIColor+Skeleton.swift */, + F5307E2D1FB0E5E400EE67C5 /* UIView+Frame.swift */, + F5F899CF1FAA6A4D002E8FDA /* UIView+IBInspectable.swift */, + ); + path = Extensions; + sourceTree = ""; + }; + F5307E351FB106BF00EE67C5 /* Helpers */ = { + isa = PBXGroup; + children = ( + F5F899D11FAB9630002E8FDA /* AssociationPolicy.swift */, + F5307E3A1FB123C100EE67C5 /* ContainsMultilineText.swift */, + F56B94451FAE20AF0095662F /* PrepareForSkeletonProtocol.swift */, + F5307E311FB0F42F00EE67C5 /* RecursiveProtocol.swift */, + ); + path = Helpers; + sourceTree = ""; + }; + F5F899F31FABA607002E8FDA /* Example */ = { + isa = PBXGroup; + children = ( + F5F899F41FABA607002E8FDA /* AppDelegate.swift */, + F5F899F61FABA607002E8FDA /* ViewController.swift */, + F5F622441FACA338007C062A /* Cell.swift */, + F5F899F81FABA607002E8FDA /* Main.storyboard */, + F5F899FB1FABA607002E8FDA /* Assets.xcassets */, + F5F899FD1FABA607002E8FDA /* LaunchScreen.storyboard */, + ); + path = Example; + sourceTree = ""; + }; + F5F89A041FABA614002E8FDA /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; + F5F89A061FABA725002E8FDA /* Example */ = { + isa = PBXGroup; + children = ( + F5F89A001FABA607002E8FDA /* SkeletonViewExampleInfo.plist */, + ); + name = Example; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 52D6D9791BEFF229002C0205 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 52D6D97B1BEFF229002C0205 /* SkeletonView-iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 52D6D9901BEFF229002C0205 /* Build configuration list for PBXNativeTarget "SkeletonView-iOS" */; + buildPhases = ( + 52D6D9771BEFF229002C0205 /* Sources */, + 52D6D9781BEFF229002C0205 /* Frameworks */, + 52D6D9791BEFF229002C0205 /* Headers */, + 52D6D97A1BEFF229002C0205 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "SkeletonView-iOS"; + productName = SkeletonView; + productReference = 52D6D97C1BEFF229002C0205 /* SkeletonView.framework */; + productType = "com.apple.product-type.framework"; + }; + F5F899F11FABA607002E8FDA /* SkeletonViewExample */ = { + isa = PBXNativeTarget; + buildConfigurationList = F5F89A011FABA607002E8FDA /* Build configuration list for PBXNativeTarget "SkeletonViewExample" */; + buildPhases = ( + F5F899EE1FABA607002E8FDA /* Sources */, + F5F899EF1FABA607002E8FDA /* Frameworks */, + F5F899F01FABA607002E8FDA /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SkeletonViewExample; + productName = SkeletonViewExample; + productReference = F5F899F21FABA607002E8FDA /* SkeletonViewExample.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 52D6D9731BEFF229002C0205 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0910; + LastUpgradeCheck = 0900; + ORGANIZATIONNAME = SkeletonView; + TargetAttributes = { + 52D6D97B1BEFF229002C0205 = { + CreatedOnToolsVersion = 7.1; + LastSwiftMigration = 0800; + }; + F5F899F11FABA607002E8FDA = { + CreatedOnToolsVersion = 9.1; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = 52D6D9761BEFF229002C0205 /* Build configuration list for PBXProject "SkeletonView" */; + compatibilityVersion = "Xcode 6.3"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 52D6D9721BEFF229002C0205; + productRefGroup = 52D6D97D1BEFF229002C0205 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 52D6D97B1BEFF229002C0205 /* SkeletonView-iOS */, + F5F899F11FABA607002E8FDA /* SkeletonViewExample */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 52D6D97A1BEFF229002C0205 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F5F899F01FABA607002E8FDA /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F5F899FF1FABA607002E8FDA /* LaunchScreen.storyboard in Resources */, + F5F899FC1FABA607002E8FDA /* Assets.xcassets in Resources */, + F5F899FA1FABA607002E8FDA /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 52D6D9771BEFF229002C0205 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F5F899D01FAA6A4D002E8FDA /* UIView+IBInspectable.swift in Sources */, + F5307E371FB1076E00EE67C5 /* SkeletonUITableViewDataSource.swift in Sources */, + 8933C7851EB5B820000D00A4 /* SkeletonView.swift in Sources */, + F5307E301FB0EC9D00EE67C5 /* SkeletonDefaultConfig.swift in Sources */, + F5307E321FB0F42F00EE67C5 /* RecursiveProtocol.swift in Sources */, + F5F622431FAC81FD007C062A /* CALayer+Extensions.swift in Sources */, + F5F899ED1FAB9F04002E8FDA /* CollectionSkeletonProtocol.swift in Sources */, + F5307E2C1FAF6BC900EE67C5 /* SkeletonGradient.swift in Sources */, + F5F899EB1FAB9DA3002E8FDA /* SkeletonCollectionDataSource.swift in Sources */, + F5F622411FAC6E31007C062A /* UIColor+Skeleton.swift in Sources */, + F5F899D21FAB9630002E8FDA /* AssociationPolicy.swift in Sources */, + F56B94461FAE20AF0095662F /* PrepareForSkeletonProtocol.swift in Sources */, + F5307E391FB1078E00EE67C5 /* SkeletonUICollectionViewDataSource.swift in Sources */, + F5307E3B1FB123C100EE67C5 /* ContainsMultilineText.swift in Sources */, + F5F899E91FAB9D2B002E8FDA /* SkeletonLayer.swift in Sources */, + F5307E2E1FB0E5E400EE67C5 /* UIView+Frame.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F5F899EE1FABA607002E8FDA /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F5F899F71FABA607002E8FDA /* ViewController.swift in Sources */, + F5F899F51FABA607002E8FDA /* AppDelegate.swift in Sources */, + F5F622451FACA338007C062A /* Cell.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + F5F899F81FABA607002E8FDA /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + F5F899F91FABA607002E8FDA /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + F5F899FD1FABA607002E8FDA /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + F5F899FE1FABA607002E8FDA /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 52D6D98E1BEFF229002C0205 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 52D6D98F1BEFF229002C0205 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 52D6D9911BEFF229002C0205 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_MODULES = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = Configs/SkeletonView.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + ONLY_ACTIVE_ARCH = NO; + PRODUCT_BUNDLE_IDENTIFIER = "com.SkeletonView.SkeletonView-iOS"; + PRODUCT_NAME = SkeletonView; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; + }; + name = Debug; + }; + 52D6D9921BEFF229002C0205 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_MODULES = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = Configs/SkeletonView.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.SkeletonView.SkeletonView-iOS"; + PRODUCT_NAME = SkeletonView; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.0; + }; + name = Release; + }; + F5F89A021FABA607002E8FDA /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = "$(SRCROOT)/Configs/SkeletonViewExampleInfo.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.juanpecatalan.SkeletonViewExample; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + F5F89A031FABA607002E8FDA /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = "$(SRCROOT)/Configs/SkeletonViewExampleInfo.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.juanpecatalan.SkeletonViewExample; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 52D6D9761BEFF229002C0205 /* Build configuration list for PBXProject "SkeletonView" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52D6D98E1BEFF229002C0205 /* Debug */, + 52D6D98F1BEFF229002C0205 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 52D6D9901BEFF229002C0205 /* Build configuration list for PBXNativeTarget "SkeletonView-iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52D6D9911BEFF229002C0205 /* Debug */, + 52D6D9921BEFF229002C0205 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + F5F89A011FABA607002E8FDA /* Build configuration list for PBXNativeTarget "SkeletonViewExample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F5F89A021FABA607002E8FDA /* Debug */, + F5F89A031FABA607002E8FDA /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 52D6D9731BEFF229002C0205 /* Project object */; +} diff --git a/SkeletonView.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/SkeletonView.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/SkeletonView.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/SkeletonView.xcodeproj/xcshareddata/xcschemes/SkeletonView-iOS.xcscheme b/SkeletonView.xcodeproj/xcshareddata/xcschemes/SkeletonView-iOS.xcscheme new file mode 100644 index 0000000..80ac38a --- /dev/null +++ b/SkeletonView.xcodeproj/xcshareddata/xcschemes/SkeletonView-iOS.xcscheme @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Sources/Collections/CollectionSkeletonProtocol.swift b/Sources/Collections/CollectionSkeletonProtocol.swift new file mode 100644 index 0000000..72df9f5 --- /dev/null +++ b/Sources/Collections/CollectionSkeletonProtocol.swift @@ -0,0 +1,79 @@ +// +// CollectionSkeleton.swift +// SkeletonView-iOS +// +// Created by Juanpe Catalán on 02/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import UIKit + +extension UIView { + + func addDummyDataSourceIfNeeded() { + guard let collection = self as? CollectionSkeleton else { return } + collection.addDummyDataSource() + collection.disableScrolling() + } + + func removeDummyDataSourceIfNeeded(reloadAfter reload: Bool = true) { + guard let collection = self as? CollectionSkeleton else { return } + collection.removeDummyDataSource(reloadAfter: reload) + collection.enableScrolling() + } +} + +protocol CollectionSkeleton { + var skeletonDataSource: SkeletonCollectionDataSource? { get set } + func addDummyDataSource() + func removeDummyDataSource(reloadAfter: Bool) + func disableScrolling() + func enableScrolling() +} + +private enum AssociatedKeys { + static var dummyDataSource = "dummyDataSource" +} + +extension CollectionSkeleton where Self: UIScrollView { + + func addDummyDataSource() {} + func removeDummyDataSource(reloadAfter: Bool) {} + func disableScrolling() { isScrollEnabled = false } + func enableScrolling() { isScrollEnabled = true } +} + +extension UITableView: CollectionSkeleton { + + var skeletonDataSource: SkeletonCollectionDataSource? { + get { return objc_getAssociatedObject(self, &AssociatedKeys.dummyDataSource) as? SkeletonCollectionDataSource } + set { + objc_setAssociatedObject(self, &AssociatedKeys.dummyDataSource, newValue, AssociationPolicy.retain.objc) + self.dataSource = newValue + } + } + + func addDummyDataSource() { + guard let originalDataSource = self.dataSource as? SkeletonUITableViewDataSource, + !(originalDataSource is SkeletonCollectionDataSource) + else { return } + let dataSource = SkeletonCollectionDataSource(tableViewDataSource: originalDataSource) + self.skeletonDataSource = dataSource + reloadData() + } + + func removeDummyDataSource(reloadAfter: Bool) { + guard let dataSource = self.dataSource as? SkeletonCollectionDataSource else { return } + self.skeletonDataSource = nil + self.dataSource = dataSource.originalTableViewDataSource + if reloadAfter { self.reloadData() } + } +} + +extension UICollectionView: CollectionSkeleton { + + var skeletonDataSource: SkeletonCollectionDataSource? { + get { return objc_getAssociatedObject(self, &AssociatedKeys.dummyDataSource) as? SkeletonCollectionDataSource } + set { objc_setAssociatedObject(self, &AssociatedKeys.dummyDataSource, newValue, AssociationPolicy.retain.objc) } + } +} diff --git a/Sources/Collections/SkeletonCollectionDataSource.swift b/Sources/Collections/SkeletonCollectionDataSource.swift new file mode 100644 index 0000000..c8cead1 --- /dev/null +++ b/Sources/Collections/SkeletonCollectionDataSource.swift @@ -0,0 +1,57 @@ +// +// SkeletonCollectionDataSource.swift +// SkeletonView-iOS +// +// Created by Juanpe Catalán on 02/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import UIKit + +public typealias ReusableCellIdentifier = String + +class SkeletonCollectionDataSource: NSObject { + + weak var originalTableViewDataSource: SkeletonUITableViewDataSource? + weak var originalCollectionViewDataSource: UICollectionViewDataSource? + + convenience init(tableViewDataSource: SkeletonUITableViewDataSource? = nil, collectionViewDataSource: UICollectionViewDataSource? = nil) { + self.init() + self.originalTableViewDataSource = tableViewDataSource + self.originalCollectionViewDataSource = collectionViewDataSource + } +} + +// MARK: - UITableViewDataSource +extension SkeletonCollectionDataSource: UITableViewDataSource { + + func numberOfSections(in tableView: UITableView) -> Int { + return originalTableViewDataSource?.numSections(in:tableView) ?? 0 + } + + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return originalTableViewDataSource?.collectionSkeletonView(tableView, numberOfRowsInSection:section) ?? 0 + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cellIdentifier = originalTableViewDataSource?.collectionSkeletonView(tableView, cellIdenfierForRowAt: indexPath) ?? "" + let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) + return cell + } +} + +// MARK: - UICollectionViewDataSource +extension SkeletonCollectionDataSource: UICollectionViewDataSource { + + func numberOfSections(in collectionView: UICollectionView) -> Int { + return 1 + } + + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { + return 4 + } + + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { + return UICollectionViewCell() + } +} diff --git a/Sources/Collections/SkeletonUICollectionViewDataSource.swift b/Sources/Collections/SkeletonUICollectionViewDataSource.swift new file mode 100644 index 0000000..0d10f8b --- /dev/null +++ b/Sources/Collections/SkeletonUICollectionViewDataSource.swift @@ -0,0 +1,11 @@ +// +// SkeletonUICollectionViewDataSource.swift +// SkeletonView-iOS +// +// Created by Juanpe Catalán on 06/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import UIKit + +protocol SkeletonUICollectionViewDataSource: UICollectionViewDataSource {} diff --git a/Sources/Collections/SkeletonUITableViewDataSource.swift b/Sources/Collections/SkeletonUITableViewDataSource.swift new file mode 100644 index 0000000..44bda6e --- /dev/null +++ b/Sources/Collections/SkeletonUITableViewDataSource.swift @@ -0,0 +1,24 @@ +// +// SkeletonUITableViewDataSource.swift +// SkeletonView-iOS +// +// Created by Juanpe Catalán on 06/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import UIKit + +public protocol SkeletonUITableViewDataSource: UITableViewDataSource { + func numSections(in collectionSkeletonView: UITableView) -> Int + func collectionSkeletonView(_ skeletonView: UITableView, numberOfRowsInSection section: Int) -> Int + func collectionSkeletonView(_ skeletonView: UITableView, cellIdenfierForRowAt indexPath: IndexPath) -> ReusableCellIdentifier +} + +public extension SkeletonUITableViewDataSource { + + func collectionSkeletonView(_ skeletonView: UITableView, numberOfRowsInSection section: Int) -> Int { + return Int(ceil(skeletonView.frame.height/skeletonView.rowHeight)) + } + + func numSections(in collectionSkeletonView: UITableView) -> Int { return 1 } +} diff --git a/Sources/Extensions/CALayer+Extensions.swift b/Sources/Extensions/CALayer+Extensions.swift new file mode 100644 index 0000000..82ee88d --- /dev/null +++ b/Sources/Extensions/CALayer+Extensions.swift @@ -0,0 +1,103 @@ +// +// SkeletonLayer+Animations.swift +// SkeletonView-iOS +// +// Created by Juanpe Catalán on 03/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import UIKit + +extension CALayer { + @objc func tint(withColors colors: [UIColor]) { + recursiveSearch(inArray: skeletonSublayers, + leafBlock: { backgroundColor = colors.first?.cgColor }) { + $0.tint(withColors: colors) + } + } +} + +extension CAGradientLayer { + override func tint(withColors colors: [UIColor]) { + recursiveSearch(inArray: skeletonSublayers, + leafBlock: { self.colors = colors.map { $0.cgColor } }) { + $0.tint(withColors: colors) + } + } +} + + +// MARK: Skeleton sublayers +extension CALayer { + + static let skeletonSubLayersName = "SkeletonSubLayersName" + + var skeletonSublayers: [CALayer] { + return sublayers?.filter { $0.name == CALayer.skeletonSubLayersName } ?? [CALayer]() + } + + func addMultilinesLayers(lines: Int, type: SkeletonType) { + let numberOfSublayers = calculateNumLines(maxLines: lines) + for index in 0.. Int { + let spaceRequitedForEachLine = SkeletonDefaultConfig.multilineHeight + SkeletonDefaultConfig.multilineSpacing + var numberOfSublayers = Int(round(CGFloat(bounds.height)/CGFloat(spaceRequitedForEachLine))) + if maxLines != 0, maxLines <= numberOfSublayers { numberOfSublayers = maxLines } + return numberOfSublayers + } +} + +// MARK: Animations +public extension CALayer { + + enum Animations { + + static var pulse: CAAnimation { + let pulseAnimation = CABasicAnimation(keyPath: #keyPath(CALayer.opacity)) + pulseAnimation.duration = 1 + pulseAnimation.fromValue = 1 + pulseAnimation.toValue = 0.7 + pulseAnimation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) + pulseAnimation.autoreverses = true + pulseAnimation.repeatCount = .infinity + return pulseAnimation + } + + static var sliding: CAAnimation { + let startPointAnim = CABasicAnimation(keyPath: #keyPath(CAGradientLayer.startPoint)) + startPointAnim.fromValue = NSValue(cgPoint:CGPoint(x: -1, y: 0.5)) + startPointAnim.toValue = NSValue(cgPoint:CGPoint(x:1, y: 0.5)) + + let endPointAnim = CABasicAnimation(keyPath: #keyPath(CAGradientLayer.endPoint)) + endPointAnim.fromValue = NSValue(cgPoint:CGPoint(x: 0, y: 0.5)) + endPointAnim.toValue = NSValue(cgPoint:CGPoint(x:2, y: 0.5)) + + let animGroup = CAAnimationGroup() + animGroup.animations = [startPointAnim, endPointAnim] + animGroup.duration = 1.5 + animGroup.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseIn) + animGroup.repeatCount = .infinity + + return animGroup + } + } + + func playAnimation(_ anim: SkeletonLayerAnimation, key: String) { + recursiveSearch(inArray: skeletonSublayers, + leafBlock: { add(anim(), forKey: key) }) { + $0.playAnimation(anim, key: key) + } + } + + func stopAnimation(forKey key: String) { + recursiveSearch(inArray: skeletonSublayers, + leafBlock: { removeAnimation(forKey: key) }) { + $0.stopAnimation(forKey: key) + } + } +} diff --git a/Sources/Extensions/UIColor+Skeleton.swift b/Sources/Extensions/UIColor+Skeleton.swift new file mode 100644 index 0000000..c2fbed8 --- /dev/null +++ b/Sources/Extensions/UIColor+Skeleton.swift @@ -0,0 +1,63 @@ +// +// UIColor+Skeleton.swift +// SkeletonView-iOS +// +// Created by Juanpe Catalán on 03/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import UIKit + +extension UIColor { + + convenience init(_ hex: UInt) { + self.init( + red: CGFloat((hex & 0xFF0000) >> 16) / 255.0, + green: CGFloat((hex & 0x00FF00) >> 8) / 255.0, + blue: CGFloat(hex & 0x0000FF) / 255.0, + alpha: CGFloat(1.0) + ) + } + + public var lighter: UIColor { + return adjust(by: 1.2) + } + + public var darker: UIColor { + return adjust(by: 0.96) + } + + func adjust(by percent: CGFloat) -> UIColor { + var h: CGFloat = 0, s: CGFloat = 0, b: CGFloat = 0, a: CGFloat = 0 + getHue(&h, saturation: &s, brightness: &b, alpha: &a) + return UIColor(hue: h, saturation: s, brightness: b * percent, alpha: a) + } + + func makeGradient() -> [UIColor] { + return [self, self.darker, self] + } +} + +public extension UIColor { + static var greenSea = UIColor(0x16a085) + static var turquoise = UIColor(0x1abc9c) + static var emerald = UIColor(0x2ecc71) + static var peterRiver = UIColor(0x3498db) + static var amethyst = UIColor(0x9b59b6) + static var wetAsphalt = UIColor(0x34495e) + static var nephritis = UIColor(0x27ae60) + static var belizeHole = UIColor(0x2980b9) + static var wisteria = UIColor(0x8e44ad) + static var midnightBlue = UIColor(0x2c3e50) + static var sunFlower = UIColor(0xf1c40f) + static var carrot = UIColor(0xe67e22) + static var alizarin = UIColor(0xe74c3c) + static var clouds = UIColor(0xecf0f1) + static var concrete = UIColor(0x95a5a6) + static var flatOrange = UIColor(0xf39c12) + static var pumpkin = UIColor(0xd35400) + static var pomegranate = UIColor(0xc0392b) + static var silver = UIColor(0xbdc3c7) + static var asbestos = UIColor(0x7f8c8d) +} + diff --git a/Sources/Extensions/UIView+Frame.swift b/Sources/Extensions/UIView+Frame.swift new file mode 100644 index 0000000..7b487c5 --- /dev/null +++ b/Sources/Extensions/UIView+Frame.swift @@ -0,0 +1,40 @@ +// +// UIView+Frame.swift +// SkeletonView-iOS +// +// Created by Juanpe Catalán on 06/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import UIKit + +// MARK: Frame +extension UIView { + + var maxBoundsEstimated: CGRect { + return CGRect(origin: .zero, size: maxSizeEstimated) + } + + var maxSizeEstimated: CGSize { + return CGSize(width: maxWidthEstimated, height: maxHeightEstimated) + } + + var maxWidthEstimated: CGFloat { + let constraintsWidth = constraints.filter({ $0.firstAttribute == NSLayoutAttribute.width }) + return max(between: frame.size.width, andContantsOf: constraintsWidth) + } + + var maxHeightEstimated: CGFloat { + let constraintsHeight = constraints.filter({ $0.firstAttribute == NSLayoutAttribute.height }) + return max(between: frame.size.height, andContantsOf: constraintsHeight) + } + + private func max(between value: CGFloat, andContantsOf constraints: [NSLayoutConstraint]) -> CGFloat { + let max = constraints.reduce(value, { max, constraint in + var tempMax = max + if constraint.constant > tempMax { tempMax = constraint.constant } + return tempMax + }) + return max + } +} diff --git a/Sources/Extensions/UIView+IBInspectable.swift b/Sources/Extensions/UIView+IBInspectable.swift new file mode 100644 index 0000000..17de6f2 --- /dev/null +++ b/Sources/Extensions/UIView+IBInspectable.swift @@ -0,0 +1,52 @@ +// +// UIView+IBInspectable.swift +// SkeletonView-iOS +// +// Created by Juanpe Catalán on 01/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import UIKit + +private enum AssociatedKeys { + static var skeletonable = "skeletonable" + static var status = "status" + static var skeletonLayer = "layer" +} + +public extension UIView { + + @IBInspectable + var isSkeletonable: Bool { + get { return skeletonable } + set { skeletonable = newValue } + } + + var isSkeletonActive: Bool { + return status == .on + } +} + +extension UIView { + + enum Status { + case on + case off + } + + var skeletonLayer: SkeletonLayer? { + get { return objc_getAssociatedObject(self, &AssociatedKeys.skeletonLayer) as? SkeletonLayer } + set { objc_setAssociatedObject(self, &AssociatedKeys.skeletonLayer, newValue, AssociationPolicy.retain.objc) } + } + + var status: Status! { + get { return objc_getAssociatedObject(self, &AssociatedKeys.status) as? Status ?? .off } + set { objc_setAssociatedObject(self, &AssociatedKeys.status, newValue, AssociationPolicy.retain.objc) } + } + + private var skeletonable: Bool! { + get { return objc_getAssociatedObject(self, &AssociatedKeys.skeletonable) as? Bool ?? false } + set { objc_setAssociatedObject(self, &AssociatedKeys.skeletonable, newValue, AssociationPolicy.retain.objc) } + } +} + diff --git a/Sources/Helpers/AssociationPolicy.swift b/Sources/Helpers/AssociationPolicy.swift new file mode 100644 index 0000000..cf6c462 --- /dev/null +++ b/Sources/Helpers/AssociationPolicy.swift @@ -0,0 +1,23 @@ +// +// AssociationPolicy.swift +// SkeletonView-iOS +// +// Created by Juanpe Catalán on 02/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import Foundation + +//Partially copy/pasted from https://github.com/jameslintaylor/AssociatedObjects/blob/master/AssociatedObjects/AssociatedObjects.swift +enum AssociationPolicy: UInt { + // raw values map to objc_AssociationPolicy's raw values + case assign = 0 + case copy = 771 + case copyNonatomic = 3 + case retain = 769 + case retainNonatomic = 1 + + var objc: objc_AssociationPolicy { + return objc_AssociationPolicy(rawValue: rawValue)! + } +} diff --git a/Sources/Helpers/ContainsMultilineText.swift b/Sources/Helpers/ContainsMultilineText.swift new file mode 100644 index 0000000..2440389 --- /dev/null +++ b/Sources/Helpers/ContainsMultilineText.swift @@ -0,0 +1,24 @@ +// +// ContainsMultilineText.swift +// SkeletonView-iOS +// +// Created by Juanpe Catalán on 07/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import UIKit + +protocol ContainsMultilineText { + var numLines: Int { get } +} + +extension ContainsMultilineText { + var numLines: Int { return 0 } +} + +extension UILabel: ContainsMultilineText { + var numLines: Int { + return numberOfLines + } +} +extension UITextView: ContainsMultilineText {} diff --git a/Sources/Helpers/PrepareForSkeletonProtocol.swift b/Sources/Helpers/PrepareForSkeletonProtocol.swift new file mode 100644 index 0000000..92d4196 --- /dev/null +++ b/Sources/Helpers/PrepareForSkeletonProtocol.swift @@ -0,0 +1,31 @@ +// +// PrepareForSkeleton.swift +// SkeletonView-iOS +// +// Created by Juanpe Catalán on 04/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import UIKit + +protocol PrepareForSkeleton { + func prepareViewForSkeleton() +} + +extension UILabel: PrepareForSkeleton { + func prepareViewForSkeleton() { + text = nil + } +} + +extension UITextView: PrepareForSkeleton { + func prepareViewForSkeleton() { + text = nil + } +} + +extension UIImageView: PrepareForSkeleton { + func prepareViewForSkeleton() { + image = nil + } +} diff --git a/Sources/Helpers/RecursiveProtocol.swift b/Sources/Helpers/RecursiveProtocol.swift new file mode 100644 index 0000000..9b77e63 --- /dev/null +++ b/Sources/Helpers/RecursiveProtocol.swift @@ -0,0 +1,37 @@ +// +// HelperProtocols.swift +// SkeletonView-iOS +// +// Created by Juanpe Catalán on 06/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import UIKit + +typealias VoidBlock = () -> Void +typealias RecursiveBlock = (T) -> Void + +//MARK: Recursive +protocol Recursive { + associatedtype Element + func recursiveSearch(inArray array:[Element], leafBlock: VoidBlock, recursiveBlock: RecursiveBlock) +} + +extension Recursive { + func recursiveSearch(inArray array:[Element], leafBlock: VoidBlock, recursiveBlock: RecursiveBlock) { + guard array.count > 0 else { + leafBlock() + return + } + array.forEach { recursiveBlock($0) } + } +} + +extension UIView: Recursive { + typealias Element = UIView +} +extension CALayer: Recursive { + typealias Element = CALayer +} + + diff --git a/Sources/SkeletonDefaultConfig.swift b/Sources/SkeletonDefaultConfig.swift new file mode 100644 index 0000000..125fcff --- /dev/null +++ b/Sources/SkeletonDefaultConfig.swift @@ -0,0 +1,20 @@ +// +// SkeletonDefaultConfig.swift +// SkeletonView-iOS +// +// Created by Juanpe Catalán on 06/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import UIKit + +public enum SkeletonDefaultConfig { + + public static let tintColor = UIColor.clouds + + public static let gradient = SkeletonGradient(baseColor: tintColor) + + public static let multilineHeight = 15 + + public static let multilineSpacing = 10 +} diff --git a/Sources/SkeletonGradient.swift b/Sources/SkeletonGradient.swift new file mode 100644 index 0000000..cc7ecc0 --- /dev/null +++ b/Sources/SkeletonGradient.swift @@ -0,0 +1,26 @@ +// +// SkeletonGradient.swift +// SkeletonView-iOS +// +// Created by Juanpe Catalán on 05/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import UIKit + +public struct SkeletonGradient { + + private var gradientColors: [UIColor] + + public var colors: [UIColor] { + return gradientColors + } + + public init(baseColor: UIColor, secondaryColor: UIColor? = nil) { + if let secondary = secondaryColor { + self.gradientColors = [baseColor, secondary, baseColor] + } else { + self.gradientColors = baseColor.makeGradient() + } + } +} diff --git a/Sources/SkeletonLayer.swift b/Sources/SkeletonLayer.swift new file mode 100644 index 0000000..21f64a0 --- /dev/null +++ b/Sources/SkeletonLayer.swift @@ -0,0 +1,96 @@ +// +// SkeletonLayer.swift +// SkeletonView-iOS +// +// Created by Juanpe Catalán on 02/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import UIKit + +class SkeletonLayerFactory { + + func makeLayer(withType type: SkeletonType, usingColors colors: [UIColor], andHolder holder: UIView) -> SkeletonLayer { + return SkeletonLayer(withType: type, usingColors: colors, andSkeletonHolder: holder) + } + + func makeMultilineLayer(withType type: SkeletonType, for index: Int, width: Int) -> CALayer { + let spaceRequitedForEachLine = SkeletonDefaultConfig.multilineHeight + SkeletonDefaultConfig.multilineSpacing + let layer = type.layer + layer.anchorPoint = .zero + layer.name = CALayer.skeletonSubLayersName + layer.frame = CGRect(x: 0, y: (index * spaceRequitedForEachLine), width: width, height: SkeletonDefaultConfig.multilineHeight) + return layer + } +} + +public typealias SkeletonLayerAnimation = () -> CAAnimation + +public enum SkeletonType { + case solid + case gradient + + var layer: CALayer { + switch self { + case .solid: + return CALayer() + case .gradient: + return CAGradientLayer() + } + } + + var layerAnimation: SkeletonLayerAnimation { + switch self { + case .solid: + return { CALayer.Animations.pulse } + case .gradient: + return { CALayer.Animations.sliding } + } + } +} + +struct SkeletonLayer { + + private var maskLayer: CALayer + private weak var holder: UIView? + var removeWhenStopped: Bool = true + + var type: SkeletonType { + return maskLayer is CAGradientLayer ? .gradient : .solid + } + + var contentLayer: CALayer { + return maskLayer + } + + init(withType type: SkeletonType, usingColors colors: [UIColor], andSkeletonHolder holder: UIView) { + self.holder = holder + self.maskLayer = type.layer + self.maskLayer.anchorPoint = .zero + self.maskLayer.bounds = holder.maxBoundsEstimated + addMultilinesIfNeeded() + self.maskLayer.tint(withColors: colors) + } + + func removeLayer() { + maskLayer.removeFromSuperlayer() + } + + func addMultilinesIfNeeded() { + guard let multiLineView = holder as? ContainsMultilineText else { return } + maskLayer.addMultilinesLayers(lines: multiLineView.numLines, type: type) + } +} + +extension SkeletonLayer { + + func start(_ anim: SkeletonLayerAnimation? = nil) { + let animation = anim ?? type.layerAnimation + contentLayer.playAnimation(animation, key: "skeletonAnimation") + } + + func stopAnimation() { + contentLayer.stopAnimation(forKey: "skeletonAnimation") + if removeWhenStopped { removeLayer() } + } +} diff --git a/Sources/SkeletonView.swift b/Sources/SkeletonView.swift new file mode 100644 index 0000000..fcdb501 --- /dev/null +++ b/Sources/SkeletonView.swift @@ -0,0 +1,123 @@ +// +// SkeletonView.swift +// SkeletonView +// +// Created by Juanpe Catalán on 01/11/2017. +// Copyright © 2017 SkeletonView. All rights reserved. +// + +import UIKit + +public extension UIView { + + func showSkeleton(usingColor color: UIColor = SkeletonDefaultConfig.tintColor) { + showSkeleton(withType: .solid, usingColors: [color]) + } + + func showGradientSkeleton(usingGradient gradient: SkeletonGradient = SkeletonDefaultConfig.gradient) { + showSkeleton(withType: .gradient, usingColors: gradient.colors) + } + + func showAnimatedSkeleton(usingColor color: UIColor = SkeletonDefaultConfig.tintColor, animation: SkeletonLayerAnimation? = nil) { + showSkeleton(withType: .solid, usingColors: [color], animated: true, animation: animation) + } + + func showAnimatedGradientSkeleton(usingGradient gradient: SkeletonGradient = SkeletonDefaultConfig.gradient, animation: SkeletonLayerAnimation? = nil) { + showSkeleton(withType: .gradient, usingColors: gradient.colors, animated: true, animation: animation) + } + + func hideSkeleton(reloadDataAfter reload: Bool = true) { + removeDummyDataSourceIfNeeded(reloadAfter: reload) + recursiveSearch(inArray: subviewsSkeletonables, + leafBlock: { removeSkeletonLayer() }, + recursiveBlock: { + $0.hideSkeleton(reloadDataAfter: reload) + }) + } + + func startSkeletonAnimation(_ anim: SkeletonLayerAnimation? = nil) { + recursiveSearch(inArray: subviewsSkeletonables, + leafBlock: startSkeletonLayerAnimationBlock(anim)) { + $0.startSkeletonAnimation(anim) + } + } + + func stopSkeletonAnimation() { + recursiveSearch(inArray: subviewsSkeletonables, + leafBlock: stopSkeletonLayerAnimationBlock) { + $0.stopSkeletonAnimation() + } + } +} + +extension UIView { + + func showSkeleton(withType type: SkeletonType = .solid, usingColors colors: [UIColor], animated: Bool = false, animation: SkeletonLayerAnimation? = nil) { + addDummyDataSourceIfNeeded() + recursiveSearch(inArray: subviewsSkeletonables, + leafBlock: { + guard !isSkeletonActive else { return } + (self as? PrepareForSkeleton)?.prepareViewForSkeleton() + addSkeletonLayer(withType: type, usingColors: colors, animated: animated, animation: animation) + }) { + $0.showSkeleton(withType: type, usingColors: colors, animated: animated, animation: animation) + } + } + + private func startSkeletonLayerAnimationBlock(_ anim: SkeletonLayerAnimation? = nil) -> VoidBlock { + return { + guard let layer = self.skeletonLayer else { return } + layer.start(anim) + } + } + + private var stopSkeletonLayerAnimationBlock: VoidBlock { + return { + guard let layer = self.skeletonLayer else { return } + layer.stopAnimation() + } + } +} + +extension UIView { + @objc var subviewsSkeletonables: [UIView] { + return subviews.filter { $0.isSkeletonable } + } +} + +extension UITableView { + override var subviewsSkeletonables: [UIView] { + return visibleCells.filter { $0.isSkeletonable } + } +} + +extension UITableViewCell { + override var subviewsSkeletonables: [UIView] { + return contentView.subviews.filter { $0.isSkeletonable } + } +} + +extension UIStackView { + override var subviewsSkeletonables: [UIView] { + return arrangedSubviews.filter { $0.isSkeletonable } + } +} + +extension UIView { + + func addSkeletonLayer(withType type: SkeletonType, usingColors colors: [UIColor], animated: Bool, animation: SkeletonLayerAnimation? = nil) { + self.skeletonLayer = SkeletonLayerFactory().makeLayer(withType: type, usingColors: colors, andHolder: self) + layer.insertSublayer(skeletonLayer!.contentLayer, at: UInt32.max) + if animated { skeletonLayer!.start(animation) } + status = .on + } + + func removeSkeletonLayer() { + guard isSkeletonActive, + let layer = skeletonLayer else { return } + layer.stopAnimation() + skeletonLayer = nil + status = .off + } +} +