From e8b3fe1b7f4fefe895ce5bf33f896adbfaca7c0a Mon Sep 17 00:00:00 2001 From: Ivan Vorobei Date: Wed, 18 Dec 2019 21:15:26 +0300 Subject: [PATCH] Add .like preset --- Assets/Readme/Miniature - Like.svg | 10 ++ Assets/Sketch/Presets.sketch | Bin 66752 -> 70841 bytes Example/Controllers/ViewController.swift | 1 + Readme.md | 1 + SPAlert.podspec | 2 +- SPAlert.xcodeproj/project.pbxproj | 4 + Source/SPAlert/Models/SPAlertPreset.swift | 13 ++ .../Views/Icons/SPAlertIconLikeView.swift | 136 ++++++++++++++++++ 8 files changed, 166 insertions(+), 1 deletion(-) create mode 100644 Assets/Readme/Miniature - Like.svg create mode 100644 Source/SPAlert/Views/Icons/SPAlertIconLikeView.swift diff --git a/Assets/Readme/Miniature - Like.svg b/Assets/Readme/Miniature - Like.svg new file mode 100644 index 0000000..155a83a --- /dev/null +++ b/Assets/Readme/Miniature - Like.svg @@ -0,0 +1,10 @@ + + + + Miniature - Like + Created with Sketch. + + + + + \ No newline at end of file diff --git a/Assets/Sketch/Presets.sketch b/Assets/Sketch/Presets.sketch index cc1bf4c0fc3772bf65171ef5dfaadfee29579220..115f574c46b81072237459584b5aa229ec9b2080 100644 GIT binary patch delta 42197 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°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 diff --git a/Example/Controllers/ViewController.swift b/Example/Controllers/ViewController.swift index a3ad074..1c62021 100644 --- a/Example/Controllers/ViewController.swift +++ b/Example/Controllers/ViewController.swift @@ -17,6 +17,7 @@ class ViewController: UITableViewController { Alert(key: "Bolt", preset: .bolt, title: "Power", subtitle: "Now turned on"), Alert(key: "Eject", preset: .eject, title: "Eject complete", subtitle: nil), Alert(key: "Card", preset: .card, title: "Payment sent", subtitle: "Thanks for donate"), + Alert(key: "Like", preset: .like, title: "Thanks for feedback", subtitle: "It helped us"), Alert(key: "Rotate", preset: .rotate, title: "Portrait mode", subtitle: "You can change it in settings"), Alert(key: "Magic", preset: .magic, title: "Magic here! You see", subtitle: "Strange text, true?"), Alert(key: "Add", preset: .add, title: "Added to Folder", subtitle: nil), diff --git a/Readme.md b/Readme.md index 6b43843..c5f519d 100644 --- a/Readme.md +++ b/Readme.md @@ -22,6 +22,7 @@ And other + diff --git a/SPAlert.podspec b/SPAlert.podspec index b6b072d..ea44f89 100644 --- a/SPAlert.podspec +++ b/SPAlert.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SPAlert" - s.version = "2.0.22" + s.version = "2.0.24" s.summary = "Native alert from Apple Music & Feedback. Contains Done, Heart & Message and other presets." s.homepage = "https://github.com/IvanVorobei/SPAlert" s.source = { :git => "https://github.com/IvanVorobei/SPAlert.git", :tag => s.version } diff --git a/SPAlert.xcodeproj/project.pbxproj b/SPAlert.xcodeproj/project.pbxproj index cfb7b31..3071761 100644 --- a/SPAlert.xcodeproj/project.pbxproj +++ b/SPAlert.xcodeproj/project.pbxproj @@ -24,6 +24,7 @@ F41205292382AF5C009C2AC7 /* SPAlertIconAnimatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F41205262382AF29009C2AC7 /* SPAlertIconAnimatable.swift */; }; F412052A2382AF64009C2AC7 /* SPAlertHaptic.swift in Sources */ = {isa = PBXBuildFile; fileRef = F41204E42382AC9B009C2AC7 /* SPAlertHaptic.swift */; }; F412052B2382AF64009C2AC7 /* SPAlertLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = F41205222382AEFA009C2AC7 /* SPAlertLayout.swift */; }; + F4146EB223AAA18100AE7658 /* SPAlertIconLikeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4146EB123AAA18100AE7658 /* SPAlertIconLikeView.swift */; }; F421EFF12398684E000A566D /* SPAlertIconFlagView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F421EFF02398684E000A566D /* SPAlertIconFlagView.swift */; }; F45970B423A578A50092CE7C /* SPAlertIconCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F45970B323A578A50092CE7C /* SPAlertIconCardView.swift */; }; F459720223A841C00092CE7C /* SPAlertIconRotateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F459720123A841C00092CE7C /* SPAlertIconRotateView.swift */; }; @@ -91,6 +92,7 @@ F41205182382AD8B009C2AC7 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; F41205222382AEFA009C2AC7 /* SPAlertLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SPAlertLayout.swift; sourceTree = ""; }; F41205262382AF29009C2AC7 /* SPAlertIconAnimatable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SPAlertIconAnimatable.swift; sourceTree = ""; }; + F4146EB123AAA18100AE7658 /* SPAlertIconLikeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SPAlertIconLikeView.swift; sourceTree = ""; }; F421EFF02398684E000A566D /* SPAlertIconFlagView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SPAlertIconFlagView.swift; sourceTree = ""; }; F45970B323A578A50092CE7C /* SPAlertIconCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SPAlertIconCardView.swift; sourceTree = ""; }; F459720123A841C00092CE7C /* SPAlertIconRotateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SPAlertIconRotateView.swift; sourceTree = ""; }; @@ -202,6 +204,7 @@ F4D1623323A2E47200B5E3E9 /* SPAlertIconEjectView.swift */, F45970B323A578A50092CE7C /* SPAlertIconCardView.swift */, F459720123A841C00092CE7C /* SPAlertIconRotateView.swift */, + F4146EB123AAA18100AE7658 /* SPAlertIconLikeView.swift */, ); path = Icons; sourceTree = ""; @@ -419,6 +422,7 @@ F4CA67B5238ABD0100E72F79 /* SPAlertIconAddView.swift in Sources */, F41204EB2382AC9B009C2AC7 /* SPAlertIconHeartView.swift in Sources */, F4A8361A2385588300EB32E0 /* SPAlertIconDocView.swift in Sources */, + F4146EB223AAA18100AE7658 /* SPAlertIconLikeView.swift in Sources */, F45970B423A578A50092CE7C /* SPAlertIconCardView.swift in Sources */, F412052B2382AF64009C2AC7 /* SPAlertLayout.swift in Sources */, F4CD29F423A037D00051EA23 /* SPAlertIconMagicView.swift in Sources */, diff --git a/Source/SPAlert/Models/SPAlertPreset.swift b/Source/SPAlert/Models/SPAlertPreset.swift index bcb64e5..220c238 100644 --- a/Source/SPAlert/Models/SPAlertPreset.swift +++ b/Source/SPAlert/Models/SPAlertPreset.swift @@ -45,6 +45,7 @@ public enum SPAlertPreset { case eject case card case rotate + case like /** View for preset. Wrap to `UIView`. @@ -89,6 +90,8 @@ public enum SPAlertPreset { return SPAlertIconCardView() case .rotate: return SPAlertIconRotateView() + case .like: + return SPAlertIconLikeView() } } @@ -178,6 +181,14 @@ public enum SPAlertPreset { layout.iconHeight = 88 layout.bottomIconSpace = 35 return layout + case .like: + var layout = SPAlertLayout() + layout.topSpace = 49 + layout.bottomSpace = 31 + layout.iconWidth = 112 + layout.iconHeight = 88 + layout.bottomIconSpace = 35 + return layout case .bookmark: var layout = SPAlertLayout() layout.topSpace = 57 @@ -296,6 +307,8 @@ public enum SPAlertPreset { return .success case .rotate: return .success + case .like: + return .success } } } diff --git a/Source/SPAlert/Views/Icons/SPAlertIconLikeView.swift b/Source/SPAlert/Views/Icons/SPAlertIconLikeView.swift new file mode 100644 index 0000000..2f80ec5 --- /dev/null +++ b/Source/SPAlert/Views/Icons/SPAlertIconLikeView.swift @@ -0,0 +1,136 @@ +// The MIT License (MIT) +// Copyright © 2019 Ivan Vorobei (ivanvorobei@icloud.com) +// +// 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. + +import UIKit + +public class SPAlertIconLikeView: UIView { + + init() { + super.init(frame: .zero) + self.backgroundColor = .clear + } + + required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + public override func draw(_ rect: CGRect) { + super.draw(rect) + LikeDraw.draw(frame: rect, resizing: .aspectFit, fillColor: self.tintColor) + } + + class LikeDraw: NSObject { + + @objc dynamic public class func draw(frame targetFrame: CGRect = CGRect(x: 0, y: 0, width: 60, height: 56), resizing: ResizingBehavior = .aspectFit, fillColor: UIColor = UIColor(red: 0.349, green: 0.345, blue: 0.353, alpha: 1.000)) { + let context = UIGraphicsGetCurrentContext()! + context.saveGState() + let resizedFrame: CGRect = resizing.apply(rect: CGRect(x: 0, y: 0, width: 62, height: 65), target: targetFrame) + context.translateBy(x: resizedFrame.minX, y: resizedFrame.minY) + context.scaleBy(x: resizedFrame.width / 62, y: resizedFrame.height / 65) + context.saveGState() + context.beginTransparencyLayer(auxiliaryInfo: nil) + let clipPath = UIBezierPath() + clipPath.move(to: CGPoint(x: 49.72, y: 61.4)) + clipPath.addLine(to: CGPoint(x: 49.9, y: 61.36)) + clipPath.addCurve(to: CGPoint(x: 54.26, y: 56.74), controlPoint1: CGPoint(x: 52.08, y: 60.85), controlPoint2: CGPoint(x: 54.26, y: 59.43)) + clipPath.addCurve(to: CGPoint(x: 53.68, y: 54.41), controlPoint1: CGPoint(x: 54.26, y: 55.74), controlPoint2: CGPoint(x: 54.02, y: 55.02)) + clipPath.addLine(to: CGPoint(x: 53.59, y: 54.26)) + clipPath.addCurve(to: CGPoint(x: 53.73, y: 53.47), controlPoint1: CGPoint(x: 53.37, y: 53.89), controlPoint2: CGPoint(x: 53.42, y: 53.61)) + clipPath.addCurve(to: CGPoint(x: 56.97, y: 48.86), controlPoint1: CGPoint(x: 55.49, y: 52.69), controlPoint2: CGPoint(x: 56.97, y: 51.13)) + clipPath.addCurve(to: CGPoint(x: 56.12, y: 45.83), controlPoint1: CGPoint(x: 56.97, y: 47.69), controlPoint2: CGPoint(x: 56.66, y: 46.62)) + clipPath.addLine(to: CGPoint(x: 55.99, y: 45.65)) + clipPath.addCurve(to: CGPoint(x: 56.25, y: 44.58), controlPoint1: CGPoint(x: 55.66, y: 45.23), controlPoint2: CGPoint(x: 55.74, y: 44.89)) + clipPath.addCurve(to: CGPoint(x: 58.37, y: 40.39), controlPoint1: CGPoint(x: 57.53, y: 43.86), controlPoint2: CGPoint(x: 58.37, y: 42.24)) + clipPath.addCurve(to: CGPoint(x: 57.17, y: 36.98), controlPoint1: CGPoint(x: 58.37, y: 39.11), controlPoint2: CGPoint(x: 57.95, y: 37.68)) + clipPath.addCurve(to: CGPoint(x: 57.34, y: 35.92), controlPoint1: CGPoint(x: 56.75, y: 36.59), controlPoint2: CGPoint(x: 56.83, y: 36.31)) + clipPath.addCurve(to: CGPoint(x: 58.73, y: 32.29), controlPoint1: CGPoint(x: 58.23, y: 35.22), controlPoint2: CGPoint(x: 58.73, y: 33.88)) + clipPath.addCurve(to: CGPoint(x: 53.84, y: 27.34), controlPoint1: CGPoint(x: 58.73, y: 29.55), controlPoint2: CGPoint(x: 56.61, y: 27.34)) + clipPath.addLine(to: CGPoint(x: 43.86, y: 27.34)) + clipPath.addCurve(to: CGPoint(x: 39.64, y: 23.96), controlPoint1: CGPoint(x: 41.32, y: 27.34), controlPoint2: CGPoint(x: 39.64, y: 26.03)) + clipPath.addCurve(to: CGPoint(x: 44.4, y: 8.16), controlPoint1: CGPoint(x: 39.64, y: 20.1), controlPoint2: CGPoint(x: 44.4, y: 13.17)) + clipPath.addCurve(to: CGPoint(x: 40.48, y: 4), controlPoint1: CGPoint(x: 44.4, y: 5.57), controlPoint2: CGPoint(x: 42.69, y: 4)) + clipPath.addCurve(to: CGPoint(x: 36.35, y: 7.52), controlPoint1: CGPoint(x: 38.47, y: 4), controlPoint2: CGPoint(x: 37.44, y: 5.4)) + clipPath.addCurve(to: CGPoint(x: 22.26, y: 28.04), controlPoint1: CGPoint(x: 32.21, y: 15.74), controlPoint2: CGPoint(x: 26.56, y: 22.36)) + clipPath.addCurve(to: CGPoint(x: 16.75, y: 43.69), controlPoint1: CGPoint(x: 18.62, y: 32.9), controlPoint2: CGPoint(x: 16.84, y: 36.98)) + clipPath.addCurve(to: CGPoint(x: 38.11, y: 61.97), controlPoint1: CGPoint(x: 16.61, y: 54), controlPoint2: CGPoint(x: 24.97, y: 61.86)) + clipPath.addLine(to: CGPoint(x: 41.99, y: 62)) + clipPath.addCurve(to: CGPoint(x: 49.72, y: 61.4), controlPoint1: CGPoint(x: 45.51, y: 62.02), controlPoint2: CGPoint(x: 48.13, y: 61.77)) + clipPath.addLine(to: CGPoint(x: 49.72, y: 61.4)) + clipPath.close() + clipPath.move(to: CGPoint(x: 3, y: 43.89)) + clipPath.addCurve(to: CGPoint(x: 14.18, y: 28.37), controlPoint1: CGPoint(x: 3, y: 35.19), controlPoint2: CGPoint(x: 7.86, y: 28.37)) + clipPath.addLine(to: CGPoint(x: 18.29, y: 28.37)) + clipPath.addLine(to: CGPoint(x: 17.96, y: 28.79)) + clipPath.addCurve(to: CGPoint(x: 12.95, y: 43.61), controlPoint1: CGPoint(x: 15.56, y: 31.9), controlPoint2: CGPoint(x: 13.06, y: 36.82)) + clipPath.addCurve(to: CGPoint(x: 20.22, y: 59.29), controlPoint1: CGPoint(x: 12.84, y: 50.01), controlPoint2: CGPoint(x: 15.16, y: 55.6)) + clipPath.addLine(to: CGPoint(x: 15.21, y: 59.29)) + clipPath.addCurve(to: CGPoint(x: 3, y: 43.89), controlPoint1: CGPoint(x: 8.23, y: 59.29), controlPoint2: CGPoint(x: 3, y: 52.27)) + clipPath.close() + clipPath.addClip() + let rectanglePath = UIBezierPath(rect: CGRect(x: -2.02, y: -1, width: 65.75, height: 68)) + fillColor.setFill() + rectanglePath.fill() + context.endTransparencyLayer() + context.restoreGState() + context.restoreGState() + } + + @objc(StyleKitNameResizingBehavior) + public enum ResizingBehavior: Int { + + case aspectFit + case aspectFill + case stretch + case center + + public func apply(rect: CGRect, target: CGRect) -> CGRect { + if rect == target || target == CGRect.zero { + return rect + } + + var scales = CGSize.zero + scales.width = abs(target.width / rect.width) + scales.height = abs(target.height / rect.height) + + switch self { + case .aspectFit: + scales.width = min(scales.width, scales.height) + scales.height = scales.width + case .aspectFill: + scales.width = max(scales.width, scales.height) + scales.height = scales.width + case .stretch: + break + case .center: + scales.width = 1 + scales.height = 1 + } + + var result = rect.standardized + result.size.width *= scales.width + result.size.height *= scales.height + result.origin.x = target.minX + (target.width - result.width) / 2 + result.origin.y = target.minY + (target.height - result.height) / 2 + return result + } + } + } +}