From 975e433933aa37be9fd5c2bb61345ef10850367d Mon Sep 17 00:00:00 2001 From: Artur Carneiro Date: Wed, 29 May 2019 21:08:38 -0300 Subject: [PATCH] Bronze and Prata done --- CustomView.xcodeproj/project.pbxproj | 8 +- .../UserInterfaceState.xcuserstate | Bin 0 -> 29029 bytes .../xcschemes/xcschememanagement.plist | 14 + CustomView/Base.lproj/Main.storyboard | 306 +++++++++++++++++- CustomView/Constants.swift | 20 ++ .../ProgressBarViewController.swift | 31 ++ .../ProgressCircleViewController.swift | 91 ++++++ CustomView/Views/ProgressBarView.swift | 18 +- CustomView/Views/ProgressCircleView.swift | 20 +- 9 files changed, 496 insertions(+), 12 deletions(-) create mode 100644 CustomView.xcodeproj/project.xcworkspace/xcuserdata/carneiro.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 CustomView.xcodeproj/xcuserdata/carneiro.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 CustomView/Constants.swift diff --git a/CustomView.xcodeproj/project.pbxproj b/CustomView.xcodeproj/project.pbxproj index 73ab43a..800feac 100644 --- a/CustomView.xcodeproj/project.pbxproj +++ b/CustomView.xcodeproj/project.pbxproj @@ -15,6 +15,7 @@ 92949A602295DBF8008EE240 /* ProgressCircleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92949A5F2295DBF8008EE240 /* ProgressCircleView.swift */; }; 92949A622295E067008EE240 /* ProgressBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92949A612295E067008EE240 /* ProgressBarView.swift */; }; 92FB2169229A55C5000AF93E /* ProgressBarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92FB2168229A55C5000AF93E /* ProgressBarViewController.swift */; }; + A45D2903229ED1B400B3D967 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = A45D2902229ED1B400B3D967 /* Constants.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -28,6 +29,7 @@ 92949A5F2295DBF8008EE240 /* ProgressCircleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressCircleView.swift; sourceTree = ""; }; 92949A612295E067008EE240 /* ProgressBarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressBarView.swift; sourceTree = ""; }; 92FB2168229A55C5000AF93E /* ProgressBarViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressBarViewController.swift; sourceTree = ""; }; + A45D2902229ED1B400B3D967 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -76,6 +78,7 @@ 92949A532295DAF7008EE240 /* Assets.xcassets */, 92949A552295DAF7008EE240 /* LaunchScreen.storyboard */, 92949A582295DAF7008EE240 /* Info.plist */, + A45D2902229ED1B400B3D967 /* Constants.swift */, ); path = CustomView; sourceTree = ""; @@ -165,6 +168,7 @@ 92FB2169229A55C5000AF93E /* ProgressBarViewController.swift in Sources */, 92949A602295DBF8008EE240 /* ProgressCircleView.swift in Sources */, 92949A4D2295DAF3008EE240 /* AppDelegate.swift in Sources */, + A45D2903229ED1B400B3D967 /* Constants.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -311,7 +315,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 34E95R7U23; + DEVELOPMENT_TEAM = L76X5KFZD9; INFOPLIST_FILE = CustomView/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -329,7 +333,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 34E95R7U23; + DEVELOPMENT_TEAM = L76X5KFZD9; INFOPLIST_FILE = CustomView/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", diff --git a/CustomView.xcodeproj/project.xcworkspace/xcuserdata/carneiro.xcuserdatad/UserInterfaceState.xcuserstate b/CustomView.xcodeproj/project.xcworkspace/xcuserdata/carneiro.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..08867d2352a11d43ce46993489fb591012ba7b47 GIT binary patch literal 29029 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 IM9rE11Bx_DIsgCw literal 0 HcmV?d00001 diff --git a/CustomView.xcodeproj/xcuserdata/carneiro.xcuserdatad/xcschemes/xcschememanagement.plist b/CustomView.xcodeproj/xcuserdata/carneiro.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..2a99e1a --- /dev/null +++ b/CustomView.xcodeproj/xcuserdata/carneiro.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + CustomView.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/CustomView/Base.lproj/Main.storyboard b/CustomView/Base.lproj/Main.storyboard index 4b8cb5b..23af2da 100644 --- a/CustomView/Base.lproj/Main.storyboard +++ b/CustomView/Base.lproj/Main.storyboard @@ -58,7 +58,7 @@ - + @@ -67,22 +67,94 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -197,6 +269,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -206,7 +388,13 @@ + + + + + + @@ -385,6 +573,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -394,7 +692,9 @@ + + diff --git a/CustomView/Constants.swift b/CustomView/Constants.swift new file mode 100644 index 0000000..746a9bf --- /dev/null +++ b/CustomView/Constants.swift @@ -0,0 +1,20 @@ +// +// Helper.swift +// CustomView +// +// Created by Artur Carneiro on 29/05/19. +// Copyright © 2019 Joaquim Pessoa Filho. All rights reserved. +// + +import Foundation +import UIKit + +enum ColorPallete { + static let red = #colorLiteral(red: 0.9764705882, green: 0.3411764706, blue: 0.2196078431, alpha: 1) + static let orange = #colorLiteral(red: 0.9764705882, green: 0.5333333333, blue: 0.2117647059, alpha: 1) + static let yellow = #colorLiteral(red: 0.9764705882, green: 0.7607843137, blue: 0.2117647059, alpha: 1) + static let green = #colorLiteral(red: 0.737254902, green: 0.9764705882, blue: 0.2117647059, alpha: 1) + static let blue = #colorLiteral(red: 0.2117647059, green: 0.9764705882, blue: 0.9254901961, alpha: 1) + static let indigo = #colorLiteral(red: 0.2117647059, green: 0.568627451, blue: 0.9764705882, alpha: 1) + static let violet = #colorLiteral(red: 0.5843137255, green: 0.2117647059, blue: 0.9764705882, alpha: 1) +} diff --git a/CustomView/Controllers/ProgressBarViewController.swift b/CustomView/Controllers/ProgressBarViewController.swift index 7c56694..6648f58 100644 --- a/CustomView/Controllers/ProgressBarViewController.swift +++ b/CustomView/Controllers/ProgressBarViewController.swift @@ -15,12 +15,20 @@ class ProgressBarViewController: UITableViewController { @IBOutlet weak var progressSlider: UISlider! @IBOutlet weak var targetSlider: UISlider! + @IBOutlet weak var progressSegmentedColorPicker: UISegmentedControl! + @IBOutlet weak var targetSegmentedColorPicker: UISegmentedControl! + + private var colorArray : [UIColor] = [ColorPallete.red, ColorPallete.orange, ColorPallete.yellow, ColorPallete.green, ColorPallete.blue, ColorPallete.indigo, ColorPallete.violet] + override func viewDidLoad() { super.viewDidLoad() self.progressBarView?.lineWidth = CGFloat(self.widthSlider.value) self.progressBarView?.progressValue = CGFloat(self.progressSlider.value) self.progressBarView?.targetValue = CGFloat(self.targetSlider.value) + + colorPickerApply(on: progressSegmentedColorPicker) + colorPickerApply(on: targetSegmentedColorPicker) } override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) { @@ -40,5 +48,28 @@ class ProgressBarViewController: UITableViewController { @IBAction func targetChange(_ sender: Any) { self.progressBarView?.targetValue = CGFloat(self.targetSlider.value) } + + @IBAction func changeProgressColor(_ sender: UISegmentedControl) { + + progressBarView?.progressColor = colorArray[sender.selectedSegmentIndex] + progressSlider.tintColor = colorArray[sender.selectedSegmentIndex] + + } + + @IBAction func changeTargetColor(_ sender: UISegmentedControl) { + + progressBarView?.targetColor = colorArray[sender.selectedSegmentIndex] + targetSlider.tintColor = colorArray[sender.selectedSegmentIndex] + + } + + func colorPickerApply(on segmented : UISegmentedControl) { + + for i in 0..