2009-07-11 18 views

Respuesta

6

Una vez construido, el "Identificador" de un UIBarButtonItem no se puede modificar. Sin embargo, la IU puede cambiarse reemplazando el botón con una variante construida mediante programación. Por ejemplo:

UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd 
                      target:self 
                      action:@selector(doAddAction:)]; 
+10

Su título para esta publicación es engañoso. Esto no cambia el identificador de un UIBarButtonItem, solo crea uno nuevo con la propiedad del identificador inicializada. Estoy buscando una manera de modificar el identificador en un botón existente. Un título mejor sería "Establecer la propiedad del identificador de un nuevo UIBarButtonItem programáticamente" o algo similar. – Senseful

+2

Lamento haber tropezado con mi solución y no cumplió exactamente con sus expectativas. Al momento de hacer la pregunta, estaba buscando una forma de, de hecho, cambiarla. La solución funcionó para mí, si no fuera por ti, entonces lo siento. – rein

2

Si quieres estilo de un botón: bordeado y el identificador: Cámara de uso

UIBarButtonItem *btn; 
btn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(shotAction:)]; 
btn.style=UIBarButtonItemStyleBordered; 
0

Una vez creado el UIBarButtonItem, no hay manera de cambiar el identificador. Sin embargo, puede crear un nuevo UIBarButtonItem para reemplazar el antiguo UIBarButtonItem

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction 
                   target:self 
                   action:@selector(buttonClickedAction:)]; 

self.navigationItem.rightBarButtonItem = barButton; 
Cuestiones relacionadas