2017-09-25 8 views
-1

Le menuView doit avoir la couleur par défaut pour tout le monde. Mais n'importe qui à partir des paramètres de l'application avec les curseurs RVB peut changer la couleur du menuView. Donc, je veux définir la couleur par défaut avec le jaune, et définir le curseur pour changer la couleur menuView. Et après le changement de couleur, cela peut être enregistrer.Lancer l'application avec la couleur par défaut

import UIKit 

class ViewController: UIViewController { 

    let defaults = UserDefaults.standard 

    @IBOutlet weak var tableView: UITableView! 
    @IBOutlet weak var menuView: UIViewX! 

    var redval = Float() 
    var greenval = Float() 
    var blueval = Float() 


    @IBOutlet weak var NewMessage: UIButton! 
    @IBOutlet weak var Camera: UIButton! 
    @IBOutlet weak var NewPost: UIButton! 

    var tableData: [Model] = [] 

    override func viewDidLoad() { 
    super.viewDidLoad() 



    self.menuView.backgroundColor = UIColor(red: CGFloat(redval), green: CGFloat(greenval), blue: CGFloat(blueval), alpha: 0.45) 
    } 
} 

Avec la chaîne

self.menuView.backgroundColor = UIColor(red: CGFloat(redval), green: 
CGFloat(greenval), blue: CGFloat(blueval), alpha: 0.45) 

Je peux changer la couleur par curseur RVB avec application, mais maintenant je veux imposte la couleur par défaut d'abord que cela peut être le changement.

code curseur pour changer la couleur

import UIKit 

class ViewSettings: UIViewController { 

@IBOutlet var redslider: UISlider! 
@IBOutlet var greenslider: UISlider! 
@IBOutlet var blueslider: UISlider! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    // Do any additional setup after loading the view. 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

@IBAction func change(_ sender: AnyObject) { 
    self.performSegue(withIdentifier: "ChangeColor", sender: self) 
} 

// 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?) { 
    if segue.identifier == "ChangeColor" { 
     let destanitaion = segue.destination as! ViewController 
     destanitaion.redval = redslider.value 
     destanitaion.blueval = blueslider.value 
     destanitaion.greenval = greenslider.value 
    } 
} 


} 
+1

Une façon simple de le faire est de sauver chaque valeur rouge, vert, bleu comme un 'Double' dans' UserDefaults'. Puis extrayez chaque composant et reconstruisez le 'UIColor'. Vous pouvez créer une extension 'UserDefaults' pour rendre ce nettoyeur aussi. – Paolo

+0

pouvez-vous me donner un exemple? la couleur que je veux imposer par défaut est #colorLiteral (rouge: 0.9966391622, vert: 1, bleu: 0.2095825737, alpha: 0.7946946448)/* # f2f0f0 */@Paolo –

+0

UP @Paolo voir la mise à jour –

Répondre

2

magasin de chaque composante de couleur comme Double dans UserDefaults:

// when saving 

defaults.set(redVal, forKey: "defaultColorRedValue") 
defaults.set(greenVal, forKey: "defaultColorGreenValue") 
defaults.set(blueVal, forKey: "defaultColorBlueValue") 

Pour extraire chaque valeur:

override func viewDidLoad() { 
    super.viewDidLoad() 

    redVal = CGFloat(defaults.double(forKey: "defaultColorRedValue")) 
    greenVal = CGFloat(defaults.double(forKey: "defaultColorGreenValue")) 
    blueVal = CGFloat(defaults.double(forKey: "defaultColorBlueValue")) 

    self.menuView.backgroundColor = UIColor(red: redval, green: greenval, blue: blueval, alpha: 0.45) 
} 
0

utilisateur par défaut -User pour définir la valeur par défaut RVB après la suppression de l'application,

sur votre valeur curseur Changer de magasin RVB

let defaults = UserDefaults.standard 
defaults.set(redval, forKey: “Red”) 
defaults.set(greenval, forKey: “green”) 
defaults.set(blueval, forKey: “blue”) 

Le point de vue ne charge la valeur get de défaut utilisateur

let red = defaults.float(forKey: "Red") 
let green = defaults.float(forKey: "green") 
let blue = defaults.float(forKey: "blue") 

self.menuView.backgroundColor = UIColor(red: CGFloat(red), green:CGFloat(green), blue: CGFloat(blue), alpha: 0.45)