guidelines color bar objective-c iphone uinavigationbar navigation-style

objective c - color - Agregar el botón izquierdo a UINavigationBar(iPhone)



navigation bar ios swift 4 (3)

No define qué hace realmente el botón. Esta es una línea de mi aplicación:

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelEdit:)];

cancelEdit: el selector, está en la clase actual (self) y se define como:

- (void) cancelEdit: (id) sender;

Creé una nueva aplicación para iPhone basada en navegación. Agregué esto al RootViewController.

- (void)viewDidLoad { [super viewDidLoad]; UIBarButtonItem *addButton = [[UIBarButtonItem alloc] init]; self.navigationItem.leftBarButtonItem = addButton; self.navigationItem.leftBarButtonItem.enabled = YES; }

Sin embargo, no se visualiza el botón izquierdo. ¿Hay algo que deba hacer?


En esta pregunta:

Genial gracias. ¿Dónde encuentras los diferentes selectores disponibles? El documento es muy vago sobre esto. Definí un método de instancia y lo puse como selector, pero nunca se ejecutó. Me gustaría deslizar en una vista detallada cuando se hace clic en el botón. - 4thSpace 19 de febrero a las 16:19

Voy al lugar donde necesito más información y presiono la tecla de escape (Esc). Entonces, en este ejemplo:

...(beginning of line)... @selector( Place Cursor Here, press Esc ) ...

Aparecerá una lista de los selectores disponibles. Para los programadores de Microsoft, esto es como Intellisense, pero tienes que pedirlo con Esc (simplemente no aparece automáticamente como en Visual Studio). Hablando en términos prácticos, XCode crea la mayoría de lo que intenta crear cuando comienza a escribir y realmente ayuda cuando se da cuenta de que la tecla Tab es su amiga. (bueno ... es mi amigo ... teniendo la vida solitaria que tengo)

Ahora, si necesita su propio selector, puede colocar su etiqueta allí ( mySelector : por ejemplo), luego, más abajo en su código, compilarlo:

- (IBAction)mySelector:(id)sender {
NSLog(@"You touched me THERE!");
}

Además, en el archivo de encabezado (.h), asegúrese de poner un correspondiente:

-(IBAction) mySelector:(id)sender;


En realidad, hay otra respuesta, que no se incluye aquí, pero que podría ser muy útil en muchos casos. Si no quiere usar UINavigationController , self.navigationItem no es una opción para usted.

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"imageName"] style:UIBarButtonItemStyleBordered target:self action:@selector(action:)]; UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:@"Bar Title"]; navigationItem.leftBarButtonItem = barButton; [navigationBar pushNavigationItem:navigationItem animated:NO];

Es posible que desee eso al crear UIViewController ligero con barra y botones, pero no desea la sobrecarga de navegación.