From f524b51bf58d2dc09aa6c6cceb23aaf0d23141d0 Mon Sep 17 00:00:00 2001 From: Micah Gomez Date: Sat, 7 Aug 2021 01:53:32 -0700 Subject: [PATCH] 1.3 gradient implementation pog --- TapeDeck.xcodeproj/project.pbxproj | 8 +- .../UserInterfaceState.xcuserstate | Bin 61708 -> 61389 bytes grandfatherrock/FirstViewController.swift | 167 ++++++++++++++++-- grandfatherrock/SecondViewController.swift | 87 +++++++++ 4 files changed, 244 insertions(+), 18 deletions(-) diff --git a/TapeDeck.xcodeproj/project.pbxproj b/TapeDeck.xcodeproj/project.pbxproj index 3352e6f..6c17c75 100644 --- a/TapeDeck.xcodeproj/project.pbxproj +++ b/TapeDeck.xcodeproj/project.pbxproj @@ -649,7 +649,7 @@ CODE_SIGN_ENTITLEMENTS = grandfatherrock/grandfatherrock.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 2; DEVELOPMENT_TEAM = PRBH2T6668; INFOPLIST_FILE = grandfatherrock/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; @@ -675,7 +675,7 @@ CODE_SIGN_ENTITLEMENTS = grandfatherrock/grandfatherrock.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 2; DEVELOPMENT_TEAM = PRBH2T6668; INFOPLIST_FILE = grandfatherrock/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; @@ -785,7 +785,7 @@ CODE_SIGN_ENTITLEMENTS = hssceneExtension.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 2; DEVELOPMENT_TEAM = PRBH2T6668; INFOPLIST_FILE = hsscene/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.0; @@ -813,7 +813,7 @@ CODE_SIGN_ENTITLEMENTS = hssceneExtension.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 2; DEVELOPMENT_TEAM = PRBH2T6668; INFOPLIST_FILE = hsscene/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.0; diff --git a/TapeDeck.xcodeproj/project.xcworkspace/xcuserdata/micahgomez.xcuserdatad/UserInterfaceState.xcuserstate b/TapeDeck.xcodeproj/project.xcworkspace/xcuserdata/micahgomez.xcuserdatad/UserInterfaceState.xcuserstate index fc61f02b64cce378c4b1b958cd6ca0520e360a75..2f0446f6fd66946bb407d3ec9f76e12948306bc3 100644 GIT binary patch delta 26695 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

n{=iha3A&OfL_BZ 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 delta 26885 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 8) && (GlobalVars.hour <= 19)){ //Daytime - //print("day") + + updateGradientAndView() + + + + /*if((GlobalVars.hour >= 8) && (GlobalVars.hour <= 19)){ //Daytime do{ var gif = try UIImage(gifName: "day.gif") + var gradColors:[CGColor] = [UIColor(red: 0.39, green: 0.69, blue: 1.00, alpha: 1).cgColor, UIColor(red: 0.07, green: 0.45, blue: 0.87, alpha: 1).cgColor] + //63b0ff + //1273de if GlobalVars.weatherList == 2 { gif = try UIImage(gifName: "day snow.gif") + gradColors = [UIColor(red: 0.91, green: 0.98, blue: 1.00, alpha: 1.00).cgColor,UIColor(red: 0.36, green: 0.60, blue: 0.87, alpha: 1.00).cgColor] + //e8faff + //5b99de + } else if GlobalVars.weatherList == 1 { + //7da3ca + //416594 + gradColors = [UIColor(red: 0.49, green: 0.64, blue: 0.79, alpha: 1.00).cgColor, UIColor(red: 0.25, green: 0.40, blue: 0.58, alpha: 1.00).cgColor] } sceneryImageView.setGifImage(gif, loopCount: -1) + gradient.colors = gradColors }catch{print(error)} - //sceneryImageView.image = UIImage(named: "ACBackgroundDay", in: Bundle(for: type(of: self)), compatibleWith: nil) - gradient.colors = [UIColor(red: 0.39, green: 0.69, blue: 1.00, alpha: 1).cgColor, UIColor(red: 0.07, green: 0.45, blue: 0.87, alpha: 1).cgColor] } else if((GlobalVars.hour >= 20) && (GlobalVars.hour <= 21)){//Sunset - //print("sunset") do{ var gif = try UIImage(gifName: "day.gif") + var gradColors:[CGColor] = [UIColor(red: 0.00, green: 0.31, blue: 0.59, alpha: 1).cgColor, UIColor(red: 1.00, green: 0.78, blue: 0.88, alpha: 1).cgColor] + //004f96 + //ffc7e0 if GlobalVars.weatherList == 2 { gif = try UIImage(gifName: "day snow.gif") + gradColors = [UIColor(red: 0.46, green: 0.61, blue: 0.71, alpha: 1.00).cgColor,UIColor(red: 1.00, green: 0.89, blue: 0.94, alpha: 1.00).cgColor] + //769cb6 + //ffe4f0 + } else if GlobalVars.weatherList == 1 { + gradColors = [UIColor(red: 0.27, green: 0.44, blue: 0.59, alpha: 1.00).cgColor,UIColor(red: 0.64, green: 0.48, blue: 0.55, alpha: 1.00).cgColor] + //446f96 + //a27b8c } sceneryImageView.setGifImage(gif, loopCount: -1) + gradient.colors = gradColors }catch{print(error)} - //sceneryImageView.image = UIImage(named: "ACBackgroundDay", in: Bundle(for: type(of: self)), compatibleWith: nil) - gradient.colors = [UIColor(red: 0.00, green: 0.31, blue: 0.59, alpha: 1).cgColor, UIColor(red: 1.00, green: 0.78, blue: 0.88, alpha: 1).cgColor] } else if((GlobalVars.hour >= 22) || (GlobalVars.hour <= 5)){//Night - //print("night") do{ var gif = try UIImage(gifName: "night.gif") + var gradColors:[CGColor] = [UIColor(red: 0.08, green: 0.27, blue: 0.59, alpha: 1).cgColor, UIColor(red: 0.00, green: 0.20, blue: 0.29, alpha: 1).cgColor] + //144596 + //00334a if GlobalVars.weatherList == 2 { gif = try UIImage(gifName: "night snow.gif") + gradColors = [UIColor(red: 0.55, green: 0.59, blue: 0.60, alpha: 1.00).cgColor,UIColor(red: 0.18, green: 0.30, blue: 0.44, alpha: 1.00).cgColor] + //8B9699 + //2E4D70 + } else if GlobalVars.weatherList == 1 { + gradColors = [UIColor(red: 0.00, green: 0.12, blue: 0.17, alpha: 1.00).cgColor,UIColor(red: 0.05, green: 0.18, blue: 0.39, alpha: 1.00).cgColor] + //0D2E63 + //001E2B } sceneryImageView.setGifImage(gif, loopCount: -1) + gradient.colors = gradColors }catch{print(error)} - //sceneryImageView.image = UIImage(named: "ACBackgroundNight", in: Bundle(for: type(of: self)), compatibleWith: nil) - gradient.colors = [UIColor(red: 0.08, green: 0.27, blue: 0.59, alpha: 1).cgColor, UIColor(red: 0.00, green: 0.20, blue: 0.29, alpha: 1).cgColor] } else if((GlobalVars.hour >= 6) && (GlobalVars.hour <= 7)){//Sunrise - //print("sunrise") do{ var gif = try UIImage(gifName: "day.gif") + var gradColors:[CGColor] = [UIColor(red: 0.02, green: 0.26, blue: 0.49, alpha: 1).cgColor, UIColor(red: 0.89, green: 0.68, blue: 0.60, alpha: 1).cgColor] + //05427D + //e3ad99 if GlobalVars.weatherList == 2 { gif = try UIImage(gifName: "day snow.gif") + gradColors = [UIColor(red: 0.50, green: 0.61, blue: 0.72, alpha: 1.00).cgColor,UIColor(red: 0.94, green: 0.87, blue: 0.84, alpha: 1.00).cgColor] + //809CB7 + //EFDDD7 + } else if GlobalVars.weatherList == 1 { + gradColors = [UIColor(red: 0.14, green: 0.25, blue: 0.36, alpha: 1.00).cgColor,UIColor(red: 0.54, green: 0.41, blue: 0.36, alpha: 1.00).cgColor] + //23405C + //8A685C } sceneryImageView.setGifImage(gif, loopCount: -1) + gradient.colors = gradColors }catch{print(error)} - //sceneryImageView.image = UIImage(named: "ACBackgroundDay", in: Bundle(for: type(of: self)), compatibleWith: nil) - gradient.colors = [UIColor(red: 0.02, green: 0.26, blue: 0.49, alpha: 1).cgColor, UIColor(red: 0.89, green: 0.68, blue: 0.60, alpha: 1).cgColor] } gradient.locations = [0.00, 1.00] - gradientView.layer.addSublayer(gradient) + gradientView.layer.addSublayer(gradient)*/ + + + // MARK: CHANGE TAB BAR IMAGE @@ -1030,6 +1070,11 @@ class FirstViewController: UIViewController{ GlobalVars.selectedMusicList = list GlobalVars.weatherList = weatherControl.selectedSegmentIndex + updateGradientAndView() + + + + /* if((GlobalVars.hour >= 8) && (GlobalVars.hour <= 19)){ //Daytime //print("day") do{ @@ -1065,6 +1110,12 @@ class FirstViewController: UIViewController{ sceneryImageView.setGifImage(gif, loopCount: -1) }catch{print(error)} } + */ + + + + + print("selected playlist is \(list)") @@ -1089,6 +1140,94 @@ class FirstViewController: UIViewController{ self.removeEffects() } + func updateGradientAndView(){ + let gradient = CAGradientLayer() + gradient.frame = self.view.bounds + //print("time: ", GlobalVars.hour) + if((GlobalVars.hour >= 8) && (GlobalVars.hour <= 19)){ //Daytime + do{ + var gif = try UIImage(gifName: "day.gif") + var gradColors:[CGColor] = [UIColor(red: 0.39, green: 0.69, blue: 1.00, alpha: 1).cgColor, UIColor(red: 0.07, green: 0.45, blue: 0.87, alpha: 1).cgColor] + //63b0ff + //1273de + if GlobalVars.weatherList == 2 { + gif = try UIImage(gifName: "day snow.gif") + gradColors = [UIColor(red: 0.91, green: 0.98, blue: 1.00, alpha: 1.00).cgColor,UIColor(red: 0.36, green: 0.60, blue: 0.87, alpha: 1.00).cgColor] + //e8faff + //5b99de + } else if GlobalVars.weatherList == 1 { + //7da3ca + //416594 + gradColors = [UIColor(red: 0.49, green: 0.64, blue: 0.79, alpha: 1.00).cgColor, UIColor(red: 0.25, green: 0.40, blue: 0.58, alpha: 1.00).cgColor] + } + sceneryImageView.setGifImage(gif, loopCount: -1) + gradient.colors = gradColors + }catch{print(error)} + } else if((GlobalVars.hour >= 20) && (GlobalVars.hour <= 21)){//Sunset + do{ + var gif = try UIImage(gifName: "day.gif") + var gradColors:[CGColor] = [UIColor(red: 0.00, green: 0.31, blue: 0.59, alpha: 1).cgColor, UIColor(red: 1.00, green: 0.78, blue: 0.88, alpha: 1).cgColor] + //004f96 + //ffc7e0 + if GlobalVars.weatherList == 2 { + gif = try UIImage(gifName: "day snow.gif") + gradColors = [UIColor(red: 0.46, green: 0.61, blue: 0.71, alpha: 1.00).cgColor,UIColor(red: 1.00, green: 0.89, blue: 0.94, alpha: 1.00).cgColor] + //769cb6 + //ffe4f0 + } else if GlobalVars.weatherList == 1 { + gradColors = [UIColor(red: 0.27, green: 0.44, blue: 0.59, alpha: 1.00).cgColor,UIColor(red: 0.64, green: 0.48, blue: 0.55, alpha: 1.00).cgColor] + //446f96 + //a27b8c + } + sceneryImageView.setGifImage(gif, loopCount: -1) + gradient.colors = gradColors + }catch{print(error)} + } else if((GlobalVars.hour >= 22) || (GlobalVars.hour <= 5)){//Night + do{ + var gif = try UIImage(gifName: "night.gif") + var gradColors:[CGColor] = [UIColor(red: 0.08, green: 0.27, blue: 0.59, alpha: 1).cgColor, UIColor(red: 0.00, green: 0.20, blue: 0.29, alpha: 1).cgColor] + //144596 + //00334a + if GlobalVars.weatherList == 2 { + gif = try UIImage(gifName: "night snow.gif") + gradColors = [UIColor(red: 0.55, green: 0.59, blue: 0.60, alpha: 1.00).cgColor,UIColor(red: 0.18, green: 0.30, blue: 0.44, alpha: 1.00).cgColor] + //8B9699 + //2E4D70 + } else if GlobalVars.weatherList == 1 { + gradColors = [UIColor(red: 0.00, green: 0.12, blue: 0.17, alpha: 1.00).cgColor,UIColor(red: 0.05, green: 0.18, blue: 0.39, alpha: 1.00).cgColor] + //0D2E63 + //001E2B + } + sceneryImageView.setGifImage(gif, loopCount: -1) + gradient.colors = gradColors + }catch{print(error)} + } else if((GlobalVars.hour >= 6) && (GlobalVars.hour <= 7)){//Sunrise + do{ + var gif = try UIImage(gifName: "day.gif") + var gradColors:[CGColor] = [UIColor(red: 0.02, green: 0.26, blue: 0.49, alpha: 1).cgColor, UIColor(red: 0.89, green: 0.68, blue: 0.60, alpha: 1).cgColor] + //05427D + //e3ad99 + if GlobalVars.weatherList == 2 { + gif = try UIImage(gifName: "day snow.gif") + gradColors = [UIColor(red: 0.50, green: 0.61, blue: 0.72, alpha: 1.00).cgColor,UIColor(red: 0.94, green: 0.87, blue: 0.84, alpha: 1.00).cgColor] + //809CB7 + //EFDDD7 + } else if GlobalVars.weatherList == 1 { + gradColors = [UIColor(red: 0.14, green: 0.25, blue: 0.36, alpha: 1.00).cgColor,UIColor(red: 0.54, green: 0.41, blue: 0.36, alpha: 1.00).cgColor] + //23405C + //8A685C + } + sceneryImageView.setGifImage(gif, loopCount: -1) + gradient.colors = gradColors + }catch{print(error)} + } + + gradient.locations = [0.00, 1.00] + + gradientView.layer.sublayers?.forEach { $0.removeFromSuperlayer() } + gradientView.layer.addSublayer(gradient) + } + /*@objc func updateMusic(){ diff --git a/grandfatherrock/SecondViewController.swift b/grandfatherrock/SecondViewController.swift index b0a6ba2..92967bb 100644 --- a/grandfatherrock/SecondViewController.swift +++ b/grandfatherrock/SecondViewController.swift @@ -346,6 +346,7 @@ class SecondViewController: UIViewController, UITableViewDelegate, UITableViewDa showSnowflakes() } + GlobalVars.selectedMusicList = list GlobalVars.weatherList = selectListWeatherControl.selectedSegmentIndex @@ -358,6 +359,8 @@ class SecondViewController: UIViewController, UITableViewDelegate, UITableViewDa print("saving savedWeatherList to \(selectListWeatherControl.selectedSegmentIndex)") defaults.set(selectListWeatherControl.selectedSegmentIndex, forKey: "savedWeatherList") //print(GlobalVars.selectedMusicList) + + updateGradientAndView() hoursTable.reloadData() musicHandler.updateMusic() //print("updating") @@ -396,6 +399,10 @@ class SecondViewController: UIViewController, UITableViewDelegate, UITableViewDa musicHandler.updateMusic() } + updateGradientAndView() + + + /* // create the gradient layer let gradient = CAGradientLayer() gradient.frame = self.view.bounds @@ -417,6 +424,11 @@ class SecondViewController: UIViewController, UITableViewDelegate, UITableViewDa gradient.locations = [0.00, 1.00] gradientView.layer.addSublayer(gradient) + */ + + + + print("list is supposed to be \(GlobalVars.selectedList) in home screen") print("weather list is supposed to be \(GlobalVars.weatherList) in music screen") @@ -473,5 +485,80 @@ class SecondViewController: UIViewController, UITableViewDelegate, UITableViewDa self.removeEffects() } + func updateGradientAndView(){ + let gradient = CAGradientLayer() + gradient.frame = self.view.bounds + //print("time: ", GlobalVars.hour) + if((GlobalVars.hour >= 8) && (GlobalVars.hour <= 19)){ //Daytime + do{ + var gradColors:[CGColor] = [UIColor(red: 0.39, green: 0.69, blue: 1.00, alpha: 1).cgColor, UIColor(red: 0.07, green: 0.45, blue: 0.87, alpha: 1).cgColor] + //63b0ff + //1273de + if GlobalVars.weatherList == 2 { + gradColors = [UIColor(red: 0.91, green: 0.98, blue: 1.00, alpha: 1.00).cgColor,UIColor(red: 0.36, green: 0.60, blue: 0.87, alpha: 1.00).cgColor] + //e8faff + //5b99de + } else if GlobalVars.weatherList == 1 { + //7da3ca + //416594 + gradColors = [UIColor(red: 0.49, green: 0.64, blue: 0.79, alpha: 1.00).cgColor, UIColor(red: 0.25, green: 0.40, blue: 0.58, alpha: 1.00).cgColor] + } + gradient.colors = gradColors + } + } else if((GlobalVars.hour >= 20) && (GlobalVars.hour <= 21)){//Sunset + do{ + var gradColors:[CGColor] = [UIColor(red: 0.00, green: 0.31, blue: 0.59, alpha: 1).cgColor, UIColor(red: 1.00, green: 0.78, blue: 0.88, alpha: 1).cgColor] + //004f96 + //ffc7e0 + if GlobalVars.weatherList == 2 { + gradColors = [UIColor(red: 0.46, green: 0.61, blue: 0.71, alpha: 1.00).cgColor,UIColor(red: 1.00, green: 0.89, blue: 0.94, alpha: 1.00).cgColor] + //769cb6 + //ffe4f0 + } else if GlobalVars.weatherList == 1 { + gradColors = [UIColor(red: 0.27, green: 0.44, blue: 0.59, alpha: 1.00).cgColor,UIColor(red: 0.64, green: 0.48, blue: 0.55, alpha: 1.00).cgColor] + //446f96 + //a27b8c + } + gradient.colors = gradColors + } + } else if((GlobalVars.hour >= 22) || (GlobalVars.hour <= 5)){//Night + do{ + var gradColors:[CGColor] = [UIColor(red: 0.08, green: 0.27, blue: 0.59, alpha: 1).cgColor, UIColor(red: 0.00, green: 0.20, blue: 0.29, alpha: 1).cgColor] + //144596 + //00334a + if GlobalVars.weatherList == 2 { + gradColors = [UIColor(red: 0.55, green: 0.59, blue: 0.60, alpha: 1.00).cgColor,UIColor(red: 0.18, green: 0.30, blue: 0.44, alpha: 1.00).cgColor] + //8B9699 + //2E4D70 + } else if GlobalVars.weatherList == 1 { + gradColors = [UIColor(red: 0.00, green: 0.12, blue: 0.17, alpha: 1.00).cgColor,UIColor(red: 0.05, green: 0.18, blue: 0.39, alpha: 1.00).cgColor] + //0D2E63 + //001E2B + } + gradient.colors = gradColors + } + } else if((GlobalVars.hour >= 6) && (GlobalVars.hour <= 7)){//Sunrise + do{ + var gradColors:[CGColor] = [UIColor(red: 0.02, green: 0.26, blue: 0.49, alpha: 1).cgColor, UIColor(red: 0.89, green: 0.68, blue: 0.60, alpha: 1).cgColor] + //05427D + //e3ad99 + if GlobalVars.weatherList == 2 { + gradColors = [UIColor(red: 0.50, green: 0.61, blue: 0.72, alpha: 1.00).cgColor,UIColor(red: 0.94, green: 0.87, blue: 0.84, alpha: 1.00).cgColor] + //809CB7 + //EFDDD7 + } else if GlobalVars.weatherList == 1 { + gradColors = [UIColor(red: 0.14, green: 0.25, blue: 0.36, alpha: 1.00).cgColor,UIColor(red: 0.54, green: 0.41, blue: 0.36, alpha: 1.00).cgColor] + //23405C + //8A685C + } + gradient.colors = gradColors + } + } + + gradient.locations = [0.00, 1.00] + + gradientView.layer.sublayers?.forEach { $0.removeFromSuperlayer() } + gradientView.layer.addSublayer(gradient) + } }