diff --git a/CustomView.xcodeproj/project.pbxproj b/CustomView.xcodeproj/project.pbxproj
index 73ab43a..5db43fc 100644
--- a/CustomView.xcodeproj/project.pbxproj
+++ b/CustomView.xcodeproj/project.pbxproj
@@ -311,7 +311,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
- DEVELOPMENT_TEAM = 34E95R7U23;
+ DEVELOPMENT_TEAM = 5HW626WUP4;
INFOPLIST_FILE = CustomView/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
@@ -329,7 +329,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
- DEVELOPMENT_TEAM = 34E95R7U23;
+ DEVELOPMENT_TEAM = 5HW626WUP4;
INFOPLIST_FILE = CustomView/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
diff --git a/CustomView.xcodeproj/project.xcworkspace/xcuserdata/liakassardjian.xcuserdatad/UserInterfaceState.xcuserstate b/CustomView.xcodeproj/project.xcworkspace/xcuserdata/liakassardjian.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 0000000..4442550
Binary files /dev/null and b/CustomView.xcodeproj/project.xcworkspace/xcuserdata/liakassardjian.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CustomView.xcodeproj/xcshareddata/xcschemes/CustomView.xcscheme b/CustomView.xcodeproj/xcshareddata/xcschemes/CustomView.xcscheme
new file mode 100644
index 0000000..c731de9
--- /dev/null
+++ b/CustomView.xcodeproj/xcshareddata/xcschemes/CustomView.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CustomView.xcodeproj/xcuserdata/liakassardjian.xcuserdatad/xcschemes/xcschememanagement.plist b/CustomView.xcodeproj/xcuserdata/liakassardjian.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 0000000..57f4dbb
--- /dev/null
+++ b/CustomView.xcodeproj/xcuserdata/liakassardjian.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,22 @@
+
+
+
+
+ SchemeUserState
+
+ CustomView.xcscheme_^#shared#^_
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 92949A482295DAF3008EE240
+
+ primary
+
+
+
+
+
diff --git a/CustomView/Base.lproj/Main.storyboard b/CustomView/Base.lproj/Main.storyboard
index 4b8cb5b..0404d99 100644
--- a/CustomView/Base.lproj/Main.storyboard
+++ b/CustomView/Base.lproj/Main.storyboard
@@ -55,6 +55,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -67,7 +137,7 @@
-
+
@@ -93,16 +163,37 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
@@ -124,7 +215,7 @@
-
+
@@ -162,7 +253,7 @@
-
+
@@ -205,15 +296,20 @@
-
+
+
+
+
+
+
-
+
-
+
@@ -243,6 +339,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -393,8 +516,11 @@
+
+
+
diff --git a/CustomView/Controllers/ProgressBarViewController.swift b/CustomView/Controllers/ProgressBarViewController.swift
index 7c56694..894d028 100644
--- a/CustomView/Controllers/ProgressBarViewController.swift
+++ b/CustomView/Controllers/ProgressBarViewController.swift
@@ -14,6 +14,9 @@ class ProgressBarViewController: UITableViewController {
@IBOutlet weak var widthSlider: UISlider!
@IBOutlet weak var progressSlider: UISlider!
@IBOutlet weak var targetSlider: UISlider!
+ @IBOutlet weak var targetLabel: UILabel!
+ @IBOutlet weak var progressLabel: UILabel!
+ @IBOutlet weak var colorSegmentedControl: UISegmentedControl!
override func viewDidLoad() {
super.viewDidLoad()
@@ -21,6 +24,10 @@ class ProgressBarViewController: UITableViewController {
self.progressBarView?.lineWidth = CGFloat(self.widthSlider.value)
self.progressBarView?.progressValue = CGFloat(self.progressSlider.value)
self.progressBarView?.targetValue = CGFloat(self.targetSlider.value)
+
+ self.progressLabel.text = String(format: "%.2f", self.progressSlider.value * 100) + "%"
+
+ self.targetLabel.text = String(format: "%.2f", self.targetSlider.value * 100) + "%"
}
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
@@ -35,10 +42,22 @@ class ProgressBarViewController: UITableViewController {
@IBAction func progessChange(_ sender: Any) {
self.progressBarView?.progressValue = CGFloat(self.progressSlider.value)
+
+ self.progressLabel.text = String(format: "%.2f", self.progressSlider.value * 100) + "%"
}
@IBAction func targetChange(_ sender: Any) {
self.progressBarView?.targetValue = CGFloat(self.targetSlider.value)
+
+ self.targetLabel.text = String(format: "%.2f", self.targetSlider.value * 100) + "%"
+ }
+
+ @IBAction func changeColor(_ sender: Any) {
+ if colorSegmentedControl.selectedSegmentIndex == 0 {
+ self.progressBarView?.progressColor = #colorLiteral(red: 1, green: 0.2527923882, blue: 1, alpha: 0.4874785959)
+ } else {
+ self.progressBarView?.progressColor = #colorLiteral(red: 0, green: 0.3593619466, blue: 1, alpha: 0.4874785959)
+ }
}
}
diff --git a/CustomView/Controllers/ProgressCircleViewController.swift b/CustomView/Controllers/ProgressCircleViewController.swift
index 266ef60..955c1b6 100644
--- a/CustomView/Controllers/ProgressCircleViewController.swift
+++ b/CustomView/Controllers/ProgressCircleViewController.swift
@@ -10,35 +10,83 @@ import UIKit
class ProgressCircleViewController: UITableViewController {
- @IBOutlet weak var progressCircleView: ProgressCircleView?
+ @IBOutlet weak var progressCircleView1: ProgressCircleView?
+ @IBOutlet weak var progressCircleView2: ProgressCircleView?
+ @IBOutlet weak var progressCircleView3: ProgressCircleView?
@IBOutlet weak var widthSlider: UISlider!
@IBOutlet weak var progressSlider: UISlider!
@IBOutlet weak var targetSlider: UISlider!
+ @IBOutlet weak var targetLabel: UILabel!
+ @IBOutlet weak var progressLabel: UILabel!
+ @IBOutlet weak var colorSegmentedControl: UISegmentedControl!
override func viewDidLoad() {
super.viewDidLoad()
- self.progressCircleView?.circleWidth = CGFloat(self.widthSlider.value)
- self.progressCircleView?.progressValue = CGFloat(self.progressSlider.value)
- self.progressCircleView?.targetValue = CGFloat(self.targetSlider.value)
+ self.progressCircleView1?.circleWidth = CGFloat(self.widthSlider.value)
+ self.progressCircleView1?.progressValue = CGFloat(self.progressSlider.value)
+ self.progressCircleView1?.targetValue = CGFloat(self.targetSlider.value)
+
+ self.progressCircleView2?.circleWidth = CGFloat(self.widthSlider.value)
+ self.progressCircleView2?.progressValue = CGFloat(self.progressSlider.value)
+ self.progressCircleView2?.targetValue = CGFloat(self.targetSlider.value)
+
+ self.progressCircleView3?.circleWidth = CGFloat(self.widthSlider.value)
+ self.progressCircleView3?.progressValue = CGFloat(self.progressSlider.value)
+ self.progressCircleView3?.targetValue = CGFloat(self.targetSlider.value)
+
+ self.progressLabel.text = String(format: "%.2f", self.progressSlider.value * 100) + "%"
+ self.targetLabel.text = String(format: "%.2f", self.targetSlider.value * 100) + "%"
+
}
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransition(to: size, with: coordinator)
- self.progressCircleView?.setNeedsDisplay()
+ self.progressCircleView1?.setNeedsDisplay()
+ self.progressCircleView2?.setNeedsDisplay()
+ self.progressCircleView3?.setNeedsDisplay()
}
@IBAction func widthChange(_ sender: Any) {
- self.progressCircleView?.circleWidth = CGFloat(self.widthSlider.value)
+ self.progressCircleView1?.circleWidth = CGFloat(self.widthSlider.value)
+
+ self.progressCircleView2?.circleWidth = CGFloat(self.widthSlider.value)
+
+ self.progressCircleView3?.circleWidth = CGFloat(self.widthSlider.value)
}
@IBAction func progessChange(_ sender: Any) {
- self.progressCircleView?.progressValue = CGFloat(self.progressSlider.value)
+ self.progressCircleView1?.progressValue = CGFloat(self.progressSlider.value)
+
+ self.progressCircleView2?.progressValue = CGFloat(self.progressSlider.value)
+
+ self.progressCircleView3?.progressValue = CGFloat(self.progressSlider.value)
+
+ self.progressLabel.text = String(format: "%.2f", self.progressSlider.value * 100) + "%"
}
@IBAction func targetChange(_ sender: Any) {
- self.progressCircleView?.targetValue = CGFloat(self.targetSlider.value)
+ self.progressCircleView1?.targetValue = CGFloat(self.targetSlider.value)
+
+ self.progressCircleView2?.targetValue = CGFloat(self.targetSlider.value)
+
+ self.progressCircleView3?.targetValue = CGFloat(self.targetSlider.value)
+
+ self.targetLabel.text = String(format: "%.2f", self.targetSlider.value * 100) + "%"
+ }
+
+
+ @IBAction func changeColor(_ sender: Any) {
+ if colorSegmentedControl.selectedSegmentIndex == 0 {
+ self.progressCircleView1?.progressColor = #colorLiteral(red: 1, green: 0.2527923882, blue: 1, alpha: 0.4874785959)
+ self.progressCircleView2?.progressColor = #colorLiteral(red: 1, green: 0.2527923882, blue: 1, alpha: 0.4874785959)
+ self.progressCircleView3?.progressColor = #colorLiteral(red: 1, green: 0.2527923882, blue: 1, alpha: 0.4874785959)
+ } else {
+ self.progressCircleView1?.progressColor = #colorLiteral(red: 0, green: 0.3593619466, blue: 1, alpha: 0.4874785959)
+ self.progressCircleView2?.progressColor = #colorLiteral(red: 0, green: 0.3593619466, blue: 1, alpha: 0.4874785959)
+ self.progressCircleView3?.progressColor = #colorLiteral(red: 0, green: 0.3593619466, blue: 1, alpha: 0.4874785959)
+ }
}
}
diff --git a/CustomView/Views/ProgressBarView.swift b/CustomView/Views/ProgressBarView.swift
index bfe9f6a..bb07c66 100644
--- a/CustomView/Views/ProgressBarView.swift
+++ b/CustomView/Views/ProgressBarView.swift
@@ -35,8 +35,13 @@ class ProgressBarView: UIView {
var lineColor:UIColor = UIColor.black
@IBInspectable
var targetColor:UIColor = UIColor.blue
+
@IBInspectable
- var progressColor:UIColor = UIColor.yellow
+ var progressColor:UIColor = UIColor.yellow {
+ didSet {
+ setNeedsDisplay()
+ }
+ }
override func draw(_ rect: CGRect) {
diff --git a/CustomView/Views/ProgressCircleView.swift b/CustomView/Views/ProgressCircleView.swift
index 9eb1956..f733ff0 100644
--- a/CustomView/Views/ProgressCircleView.swift
+++ b/CustomView/Views/ProgressCircleView.swift
@@ -41,7 +41,11 @@ class ProgressCircleView: UIView {
var circleColor:UIColor = UIColor.black
@IBInspectable
- var progressColor:UIColor = UIColor.yellow
+ var progressColor:UIColor = UIColor.yellow {
+ didSet {
+ setNeedsDisplay()
+ }
+ }
@IBInspectable
var targetColor:UIColor = UIColor.green