guide downloads developer apple objective-c xcode ios6 uiappearance

objective c - downloads - Apariencia de iOS 6 cuando está contenido en múltiples clases



ios developer guide (1)

De los documentos:

aparienciaCuando está contenido en:

...

El proxy de apariencia para el receptor en una jerarquía de contención dada.

Eso significa que la lista terminada en cero no define la lista de clases de contenedor para UIBarButtonItem, sino la jerarquía de contenedor de arriba a abajo, por lo que

[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], [UIToolbar class], nil]

devuelve el proxy de apariencia para UIBarButtonItem que está dentro de UINavigationBar, y UINavigationBar a su vez está dentro de UIToolbar.

o

[[UIBarButtonItem appearanceWhenContainedIn:[UIToolbar class],[ViewController class], nil] setTintColor:[UIColor redColor]];

establezca el color de tinte rojo para UIBarButtonItems que están en cualquier UIToolBar que están en la clase ViewController.

Entonces, para establecer la apariencia de UINavigationBar y UIToolBar por separado, necesitará 2 llamadas separadas al método +appearanceWhenContainedIn:

Estoy usando el método appearanceWhenContainedIn utiliza en ciertos elementos de la interfaz de usuario que quiero personalizar en mi aplicación iOS 6. El problema que encontré es que ninguna de mis personalizaciones se aplica si trato de proporcionar más de una clase contenedora, así:

// Works neither for toolbar nor navbar items [UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], [UIToolbar class], nil] // Works fine (but only for navbar items, obviously) [UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil]

Los documentos oficiales dicen que el parámetro para este método puede ser una lista de clases múltiples terminada en cero, pero en mi caso nunca funciona como debería. ¿Me estoy perdiendo de algo?