2010-01-05 4 views
1

Я меняю цвет фона с одного контроллера вида на все остальные контроллеры. , но он работает только тогда, когда я начинаю с этого единственного контроллера. , если я начал с любого другого контроллера, тогда я не получаю изменение фона для этого контроллера.
Я, хотя, потому что, если я начинаю с какого-то другого контроллера, его метод init вызывается, и изменения, которые я вызываю из одного контроллера после перехода на другой контроллер, не отображаются для другого контроллера.как повторно создавать viewcontroller каждый раз

Итак, как мы можем повторно использовать другой контроллер, чтобы изменения отображались и на другом контроллере.

+0

В вашем методе инициализации, вы меняете цвет, непосредственно установив свойство BackgroundColor на объекте вида? – Anurag

+0

Я делаю вот так, где color1 является глобальным, что я беру с одного контроллера для изменения в этом контроллере. - (void) viewDidUnload { \t // Освобождение любых сохраненных подзонов основного вида. \t // например. self.myOutlet = nil; \t UIColor * цвет1 = цвет2; \t self.view.backgroundColor = color1; \t } – uttam

ответ

3

Нельзя повторно инициализировать объект, который уже был инициализирован.

Я думаю, вам следует рассмотреть возможность использования метода viewWillAppear, который вызывается, когда представление становится активным.

- (void)viewWillAppear:(BOOL)animated 

Заканчивать документации Apple, here

+0

благодарит свою работу за цвет фона – uttam

Смежные вопросы