-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSettingsViewController.swift
133 lines (108 loc) · 4.18 KB
/
SettingsViewController.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
//
// SettingsViewController.swift
// calculateTip_2.0
//
// Created by Surabhi on 3/8/17.
// Copyright © 2017 Surabhi. All rights reserved.
//
import UIKit
class SettingsViewController: UIViewController {
@IBOutlet var settingsPage: UIView!
@IBOutlet weak var defaultTip: UISegmentedControl!
@IBOutlet weak var defaultTipLabel: UILabel!
@IBOutlet weak var defaultTheme: UISegmentedControl!
@IBOutlet weak var defaultThemeLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let defaults = UserDefaults.standard
//The default Tip selected by the user should be persistent
let tipValue = defaults.integer(forKey: "defaultTipSelection")
defaultTip.selectedSegmentIndex = tipValue
//Theme seleted by the user should be persistent
}
override func viewWillAppear(_ animated: Bool) {
let defaults = UserDefaults.standard
let themeValue = defaults.integer(forKey: "defaultThemeSelection")
defaultTheme.selectedSegmentIndex = themeValue
defaults.set(defaultTheme.selectedSegmentIndex,forKey: "defaultThemeSelection")
print("settings page")
print (defaultTheme.selectedSegmentIndex)
if (defaultTheme.selectedSegmentIndex == 1)
{
lightTheme()
}
if(defaultTheme.selectedSegmentIndex == 2)
{
darkTheme()
}
if(defaultTheme.selectedSegmentIndex==0)
{
originalTheme()
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func setDefault(_ sender: Any) {
let defaults = UserDefaults.standard
defaults.set(defaultTip.selectedSegmentIndex, forKey: "defaultTipSelection")
print ("settings page")
print(defaultTip.selectedSegmentIndex)
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
@IBAction func setTheme(_ sender: Any) {
let defaults = UserDefaults.standard
defaults.set(defaultTheme.selectedSegmentIndex,forKey: "defaultThemeSelection")
print("settings page")
print (defaultTheme.selectedSegmentIndex)
if (defaultTheme.selectedSegmentIndex == 1)
{
lightTheme()
}
if(defaultTheme.selectedSegmentIndex == 2)
{
darkTheme()
}
if(defaultTheme.selectedSegmentIndex==0)
{
originalTheme()
}
}
func lightTheme()
{
let lightbgColor = UIColor(red:255.0/255, green:249.0/255,blue:216.0/255,alpha:1.0)
settingsPage.backgroundColor = lightbgColor
let lightTintColor = UIColor(red:84.0/255,green:101.0/255,blue:131.0/255,alpha:1.0)
defaultTip.tintColor = lightTintColor
defaultTheme.tintColor = lightTintColor
defaultTipLabel.textColor = lightTintColor
defaultThemeLabel.textColor = lightTintColor
}
func darkTheme()
{
settingsPage.backgroundColor = UIColor.gray
defaultTipLabel.textColor = UIColor.white
defaultThemeLabel.textColor = UIColor.white
defaultTip.tintColor = UIColor.white
defaultTheme.tintColor = UIColor.white
}
func originalTheme()
{
let customColor = UIColor (red:255.0/255, green:239.0/255, blue:253.0/255 ,alpha:1.0)
settingsPage.backgroundColor = customColor
let defaultTextColor = UIColor(red:255.0/255, green:101.0/255, blue:131.0/255,alpha:1.0)
defaultTipLabel.textColor = defaultTextColor
defaultThemeLabel.textColor = defaultTextColor
defaultTip.tintColor = defaultTextColor
defaultTheme.tintColor = defaultTextColor
}
}