Как изменить цвет фона viewController в objective-c

как изменить цвет обратного вызова контроллера другого контроллера в приложении?

Ответ 1

Чтобы изменить цвет фона в "представлении", вам необходимо установить для него свойство backgroundColor. Это означает, что у вас есть к нему доступ. Если бы все было в одном контроллере, вы просто использовали бы

self.view.backgroundColor = [UIColor redColor];

Если это было в приложении для навигации или аналогичного приложения, вы можете получить доступ к представлению parentViewController и изменить цвет на нем следующим образом:

self.parentViewController.view.backgroundColor = [UIColor redColor];

Если это невозможно, вы можете установить iVar на втором контроллере представления, когда он создан, который содержит экземпляр viewController, для которого вы хотите изменить цвет фона.

MyViewController* secondViewController = [[MyViewController alloc] init];
secondViewController.bgColorNeedsChangingViewController = self;

Затем в логике secondViewController

self.bgColorNeedsChangingViewController.view.backgroundColor = [UIColor redColor];

Ответ 2

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;

Адаптировано из ответа Фрэнка Шейрара.

Ответ 3

UIViewController *yourVC;
UIColor *colour = [[UIColor alloc] initWithRed: 1.0 green: 0.0 blue: 0.0 alpha: 1.0];
[yourVC.view.backgrounColor] = colour;
[colour release];

Ответ 4

Для изменения цвета фона используйте эту единственную строку кода

self.view.backgroundColor = UIColor (red: 1.0, green: 1.0, blue: 0.5, alpha: 1.0)

Значения красного, зеленого, синего и альфа изменяются в пределах от от 0 до 1.

Вы также можете записать его как

self.view.backgroundColor = UIColor (red: 123.0/255.0, green: 200.0/255.0, blue: 90.0/255.0, alpha: 1.0)

Это во всем диапазоне цветовой схемы.