En mi app, quiero agregar una imagen(logo) en la barra de Navegación. Estoy trabajando en XCode 4.2 y iOS 5.

UINavigationBar, UIToolBar ha cambiado en iOS 5. Así que iOS 4.2 UINavigationBar código no funciona en iOS 5.

Quiero apoyar a la imagen de la pantalla en UINavigationBar en tanto 4.2 y la versión 5.

Quiero ser imagen de la pantalla en UINavigationBar como en la siguiente captura de pantalla.

Cómo agregar una imagen en UINavigationBar en aplicación de IPhone

Por favor ayuda a este respecto y si hay algún código de ejemplo que significa que sus muy útil para mí.

Gracias!!!

InformationsquelleAutor user2136 | 2012-01-11

3 Comentarios

  1. 78

    Una forma de hacer esto es utilizar UINavigationItem.titleView y UINavigationItem.rightBarButtonItem. Como este :

    viewController.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourimage.png"]];
    UIBarButtonItem * item = [[UIBarButtonItem alloc] initWithCustomView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourimage2.jpg"]]];    
    viewController.navigationItem.rightBarButtonItem = item;    

    Aquí estoy usando UIImageView como la costumbre de ver, pero puede ser UIButton con imagen personalizada.

    • En este trabajo tanto para iOS4 y 5 ? y es que el clingle Logotipo que usted está tratando de agregar y no la imagen de fondo para UINavigationbar ?
    • Lo hace en el Simulador, al menos. Y no veo ninguna razón por la que no debería. No he entendido tu segunda pregunta.
    • gracias. pero me di cuenta de que el elemento objeto no es liberado en su ejemplo.
    • la vista de la imagen también se filtró aquí.
    • Yo estoy usando el ARCO… 🙂 @MartinReichl
    • El autor afirmó que la solución también debería funcionar en iOS 4, por lo que no he pensado acerca de ARCO 🙂
    • Usted puede usar el ARCO para iOS 4 o superior, aunque débil de referencia no es compatible con ios4.
    • Solo no, no debería decir @»youtimage.png». @»yourimage» será suficiente, iOS va a averiguar la correcta imagen a cargar.
    • es allí una manera automática de escala para que se ajuste la navbar?

  2. 33

    Otra manera sin el uso de un viewController

    //Create your image
    UIImage *image = [UIImage imageNamed: @"logo.png"];
    UIImageView *imageview = [[UIImageView alloc] initWithImage: image];
    
    //set the image view to the title view
    self.navigationItem.titleView = imageview;
  3. 4

    Swift versión:
    Usted puede crear una extensión del protocolo para el uso de la función, en su opinión, los controladores de

    protocol Customizable {
        var navigationItem: UINavigationItem { get }
    }
    
    extension Customizable {
        func setNavBarLogo() {
    
            let logo = UIImage(named: "logo")
            let logoImageView = UIImageView(image: logo)
    
            self.navigationItem.titleView = logoImageView
        }
    }

Dejar respuesta

Please enter your comment!
Please enter your name here