UISearchBar en el derecho de UINavigationBar en el objective c

Creé una aplicación de iPad en la que me gustaría tener mi barra de búsqueda posicionada a la derecha de una barra de navigation.

Cuando agrego mi barra de búsqueda en mi barra de navigation, se coloca en el medio de la barra de navigation. En el medio, en cambio, quiero mostrar una image específica.

¿Cómo puedo conseguir esto?

Aquí está mi fragment de código,

[self.navigationController.navigationBar setTintColor:[[UIColor alloc]initWithRed:150.0 / 255 green:22.0 / 255 blue:22.0 / 255 alpha:0.0]]; UIImage *image = [UIImage imageNamed:@"logo(1).png"]; UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; [self.navigationItem setTitleView:imageView]; self.navigationItem.titleView = sBar; [titleView release]; 

Con el código anterior, solo puedo ver la barra de búsqueda (posicionada en el medio) en mi simulador.

Prueba esto:

 UISearchBar *searchBar = [[[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 100, 40)] autorelease]; searchBar.backgroundImage = [[[UIImage alloc] init] autorelease]; self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:searchBar] autorelease]; 

Siempre puedes cambiar el marco. Siempre tenga en count que la propiedad backgroundImage solo está disponible en iOS 5. Debe search opciones alternativas para deshacerse de los antecedentes para iOS 4.x

Avísame si eso funciona para ti.

tratar:

 self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:sBar]; 

Me metí con esto y tampoco pude conseguir que las cosas se alinearan correctamente (después de agregar un par de botones al lado de la barra de búsqueda).

Hasta que nadie sugiera una solución mejor, probablemente sea mejor ocultar la NavigationBar ([self.navigationController setNavigationBarHidden: YES]) en esa vista y replacela con una UIView con todos los elementos de interfaz de usuario que necesite. Creo que el comportamiento es más pnetworkingecible de esa manera.