ios - tactiles - desaparecen botones android
¿Cómo localizar botones de retroceso? (6)
De todos modos, para cambiar el título del botón Atrás debe considerar que debe dirigirse al controlador de padres, no al controlador de vista de detalle.
Antes de insertar la vista secundaria en el controlador de navegación, tal vez en el método prepareForSegue, haga algo como esto:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@”Back” style:UIBarButtonItemStyleBordered target:nil action:nil];
[[self navigationItem] setBackBarButtonItem:backButton];
[backButton release];
}
Estoy traduciendo una aplicación al indonesio. El guión gráfico utiliza un controlador de navegación y los segmentos de inserción para toda su vista. Cuando voy a una vista desde el menú principal, el botón Atrás está traducido correctamente, pero cuando voy a una vista desde allí (dos vistas desde el menú principal) el botón Atrás dice "Atrás". Gracias de antemano por tu ayuda.
Descubrí que si la cadena de navegación del controlador de la vista primaria se ha establecido en el archivo Storyboard, cualquier cambio que se agregue más tarde (en la vista de Controlador de Vista insertado aparecerá por ejemplo) será ignorado Compruebe si el controlador principal en el guión gráfico ha configurado el texto para el botón Atrás. La localización de self.navigationItem.backBarButtonItem.title en el controlador principal lo solucionó para mí.
No estoy seguro de cuál es exactamente el problema, pero usar la biblioteca AGi18n puede ayudar. Obliga a .xibs a localizar de acuerdo con el archivo localizable.strings. Entonces, si su .xib contiene "back", y su localizable.strings tiene una regla para "Back", será localizado.
Hay un tutorial para usar la biblioteca en la mitad inferior de este tutorial de localización de SmoothLocalize.
Para Swift, usa lo siguiente:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "mySegueIdentifier" {
let backButton = UIBarButtonItem(title: "MYLOCALISEDSTRING", style: UIBarButtonItemStyle.plain, target: nil, action: nil)
self.navigationItem.backBarButtonItem = backButton
}
}
Esto cambiará el botón de retroceso predeterminado de la siguiente manera:
Si está presionando manualmente a otro controlador de vista, entonces, un ejemplo:
@IBAction func actionOpenSettings(_ sender: UIButton) {
if let settingsVC = self.storyboard?.instantiateViewController(withIdentifier: "SettingsViewControllerID") as? SettingsViewController {
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "Back".localized(), style: .plain, target: nil, action: nil)
self.navigationController?.pushViewController(settingsVC, animated: true)
}
}
Verifique en su "Aplicación" -Info.plist la configuración "Región de desarrollo nativo de localización" y cambie su idioma predeterminado a "id" para indonesio. Como se señaló en otros sitios, esto afecta el idioma en los botones predeterminados de iOS como "Editar" o "Hecho".
Consulte Cómo cambiar el título del botón Más de UITabBarController?