2012-07-13 10 views
13

Jestem wędrówki, kiedy dokładnie zasady UIAppearance są stosowane do nowego kontrolera widoku?Kiedy reguły proxy UIAppearance zostaną zastosowane do nowego kontrolera widoku?

Zrobiłem kilka ogólnych zasad i wzywam ich w mojej aplikacji. W ten sposób wszystkie UIButtons wyglądają tak samo. Ale teraz chcę zmodyfikować tylko wygląd jednego Uibutton. Próbowałem umieścić kod, aby usunąć jego tło wewnątrz - (void)viewDidLoad, ale to nie działa - zasady UIAppearance nie są jeszcze stosowane. W jednym ViewController umieszczam kod modyfikacji wewnątrz - (void)viewWillLayoutSubviews i działał idealnie, ale teraz w innym ViewController nie działa (kod jest taki sam).

Gdzie można przesłonić zasady UIAppance?

Odpowiedz

13

Zgodnie z wideo WWDC z 2011 r. Przedstawiające UIAppearance, dostosowania są stosowane tuż przed wywołaniem -layoutSubviews w widoku.

1

Jeśli szukasz, aby dostosować jeden konkretny przycisk, który powinien albo:

  1. zmień właściwości instancji przycisku bezpośrednio, a nie dotykać ustawienia wyglądu dla klasy lub

  2. Za pomocą sposobu appearanceWhenContainedIn: jak poniżej:

    [[UIButton appearanceWhenContainedIn:[CustomView class], nil] 
    setBackgroundImage:myButtonImage 
          forState:UIControlStateNormal]; 
    

W ten sposób nadal możesz używać proxy wyglądu dla konkretnego przycisku (jeśli wiesz, że jest on zawarty w określonym widoku), a nie zmieniać ogólnych ustawień wyglądu.

Powiązane problemy