come cambiare il colore backgrond di controller della vista dall'altro regolatore in app?Come cambiare il colore di sfondo viewController in Objective-C
risposta
Per modificare il colore di una 'visione' è necessario impostare la proprietà backgroundColor su di esso sfondo. Questo implica che puoi accedervi. Se fosse tutto in un unico controllore si sarebbe solo usare
self.view.backgroundColor = [UIColor redColor];
se fosse in una navigazione o simili un'applicazione basata, allora si può accedere a una vista parentViewController e cambiare il colore su di esso nel modo seguente:
self.parentViewController.view.backgroundColor = [UIColor redColor];
Se ciò non è possibile, è possibile impostare un iVar sul secondo controller di visualizzazione quando viene creato che contiene l'istanza del viewController su cui si desidera cambiare il colore di sfondo.
MyViewController* secondViewController = [[MyViewController alloc] init];
secondViewController.bgColorNeedsChangingViewController = self;
Poi nella logica del secondViewController
self.bgColorNeedsChangingViewController.view.backgroundColor = [UIColor redColor];
UIViewController *yourVC;
UIColor *colour = [[UIColor alloc] initWithRed: 1.0 green: 0.0 blue: 0.0 alpha: 1.0];
[yourVC.view.backgrounColor] = colour;
[colour release];
UIColor *colour = [[UIColor alloc]initWithRed:57.0/255.0 green:156.0/255.0 blue:52.0/255.0 alpha:1.0];
self.view.backgroundColor = colour;
Adattato dalla risposta di Frank Shearar.
Per cambiare il colore sfondo di una vista uso questa riga di codice
self.view.backgroundColor = UIColor (red: 1.0, green: 1.0, blue: 0.5, alpha: 1.0)
I valori di rosso, verde, blu e alfa vari btw 0 a 1.
Si può anche scrivere come
self.view.backgroundColor = UIColor (red: 123.0/255.0, green: 200.0/255.0, blue: 90.0/255.0, alpha: 1.0)
Questo è in tutta la gamma di colori.