UISegmentedControl embedded en un UINavigationBar / Item

Me gustaría insert un UISegmentedControl en algún lugar de la UINavigationController mi UINavigationController.

No hay problema en incrustarlo en un UIBarButtonItem y configurarlo como el elemento leftButtonButtonButton.

Puedo entender este enfoque cuando trato con la pantalla de bienes raíces de un iPhone. Sin embargo, estoy haciendo esto en un Popover en un iPad y hay "muchos" espacios verticales disponibles en la barra superior. Si agrego el segmentedControl como un elemento de button de barra izquierdo o derecho, se networkinguce a escala para que no pueda ver el text en mi button de segmento, tiene el ancho de un button "Listo", etc. Si trato de agregarlo al navigationItem TitleView se mostrará todo el path hacia la derecha y aún se networkingucirá más que mi control de 3 segmentos con el text puede mostrarse.

¿Cómo me gustaría agregar un UISegmentedControl al centro del UINavigationController que envuelve mi contenido popover?

Espero que alguien pueda ayudarme 🙂 gracias de antemano.

¿Por qué necesitarías poner el control en la barra de título de popover? El iPad tiene mucho más espacio en la pantalla para considerar ponerlo en la vista a continuación.

– EDITAR –

Lo intenté yo mismo y funciona. Aquí está el código que configura el controller popover:

 - (IBAction) showPopover: (id) sender { TestController *testController = [[TestController alloc] initWithStyle: UITableViewStylePlain]; UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController: testController]; UIPopoverController *controller = [[UIPopoverController alloc] initWithContentViewController: navController]; [controller presentPopoverFromBarButtonItem: sender permittedArrowDirections: UIPopoverArrowDirectionAny animated: YES]; controller.delegate = self; [testController release]; [navController release]; } 

Aquí está la implementación de TestController:

 - (id) initWithStyle: (UITableViewStyle) style { if ( (self = [super initWithStyle: style]) ) { UISegmentedControl *ctrl = [[UISegmentedControl alloc] initWithFrame: CGRectZero]; ctrl.segmentedControlStyle = UISegmentedControlStyleBar; [ctrl insertSegmentWithTitle: @"One" atIndex: 0 animated: NO]; [ctrl insertSegmentWithTitle: @"Two" atIndex: 0 animated: NO]; [ctrl insertSegmentWithTitle: @"Three" atIndex: 0 animated: NO]; [ctrl sizeToFit]; // Any of the following produces the expected result: self.navigationItem.titleView = ctrl; //self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView: ctrl] autorelease]; [ctrl release]; } return self; } 

Aquí está el resultado:

texto alternativotexto alternativo

No hay trucos en mi código además de enviar sizeToFit al control segmentado. ¿Esto funciona para tí?