simbolo significa quitar que porque flecha directo como candado aparece acceso ios ios7 uinavigationcontroller

significa - Eliminar la flecha hacia atrás en iOS7



quitar flecha acceso directo windows 10 (8)

Quiero incorporar un botón de retroceso personalizado. Puedo obtener el resultado anterior usando

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back-btn"] style:UIBarButtonItemStylePlain target:nil action:nil];

Pero, ¿cómo eliminar el botón azul nativo?


¿Por qué no puedes probar con el UIButton personalizado?

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; [btn setFrame:CGRectMake(0.0f, 0.0f, 25.0f, 40.0f)]; [btn addTarget:self action:@selector(buttonEN:) forControlEvents:UIControlEventTouchUpInside]; [btn setImage:[UIImage imageNamed:@"back-btn"] forState:UIControlStateNormal]; UIBarButtonItem *backBtn = [[UIBarButtonItem alloc] initWithCustomView:btn]; self.navigationItem.backBarButtonItem = backBtn;


Acabo de enfrentar exactamente el mismo problema, esto es lo que terminé haciendo:

// First set the back button text to an empty string viewController.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil]; // Set the back-indicator image to the custom image (scaled to 20x20) UIImage *img = [MyUtils imageWithImage:[UIImage imageNamed:@"back"] scaledToSize:CGSizeMake(20, 20)]; [[UINavigationBar appearance] setBackIndicatorImage:img]; [[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:img]; // Set the tint color to WHITE [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];

Aquí está el método de escala de imagen:

+ (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize { UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0); [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)]; UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage; }

El crédito por el método de escalado anterior corresponde a Paul Lynch en esta pregunta de SO: (¿ La forma más sencilla de cambiar el tamaño de un UIImage? )


En iOS7 + puedes usar la backIndicatorImage de navegación backIndicatorImage y backIndicatorTransitionMaskImage para lograr la flecha personalizada que deseas. Código Swift abajo:

self.navigationController?.navigationBar.backIndicatorImage = UIImage(named:"button-backArrow18x15") self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named:"button-backArrowMask18x15")

Si desea ocultar el texto "atrás", puede configurar el title de la vista anterior como un espacio único "" o usar un UIBarButtonItem personalizado que no tenga un título.


Gracias a todos los que respondieron: encontraron una forma más sencilla de hacerlo ...

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back-btn"] style:UIBarButtonItemStylePlain target:self action:@selector(backButtonAction:)]; self.navigationItem.leftBarButtonItem.tintColor = [UIColor whiteColor]; [self.navigationItem setHidesBackButton:YES animated:NO]; [self.navigationItem setBackBarButtonItem:nil]; -(void) backButtonAction:(id)sender { [self.navigationController popViewControllerAnimated:YES]; }


Puedes esconder el botón trasero

self.navigationItem.hidesBackButton=YES;

Para crear un botón izquierdo personalizado puedes usar esto:

UIButton* someButton = [UIButton buttonWithType:UIButtonTypeCustom]; [someButton setFrame:frame]; [someButton setBackgroundImage:@"youArroImageName" forState:UIControlStateNormal]; [someButton addTarget:self action:@selector(backButtonAction:) forControlEvents:UIControlEventTouchUpInside]; [someButton setShowsTouchWhenHighlighted:YES]; UIBarButtonItem* someBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:someButton]; [self.navigationItem setLeftBarButtonItem:someBarButtonItem];


Revisa este:

UIImage *faceImage = [UIImage imageNamed:@"back_arrow.png"]; UIButton *face = [UIButton buttonWithType:UIButtonTypeCustom]; face.bounds = CGRectMake( 10, 0, faceImage.size.width, faceImage.size.height ); [face addTarget:self action:@selector(handleBack:) forControlEvents:UIControlEventTouchUpInside]; [face setImage:faceImage forState:UIControlStateNormal]; UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithCustomView:face]; self.navigationItem.leftBarButtonItem = backButton; [self.navigationItem setHidesBackButton:YES animated:YES]; [self.navigationItem setBackBarButtonItem:nil]; -(IBAction)handleBack:(id)sender { // [self dismissViewControllerAnimated:YES completion:nil]; [self.navigationController popViewControllerAnimated:YES]; }


Swift 4 (si solo quieres ocultarlo)

let mask = UIImage() navigationController?.navigationBar.backIndicatorImage = mask navigationController?.navigationBar.backIndicatorTransitionMaskImage = mask


Usa el siguiente código para ocultar la flecha de retroceso:

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back-btn"] style:UIBarButtonItemStylePlain target:nil action:nil]; if ([UINavigationBar instancesRespondToSelector:@selector(setBackIndicatorImage:)]) { [[UINavigationBar appearance] setBackIndicatorImage:[[UIImage alloc] init]]; [[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[[UIImage alloc] init]]; }