Pregunta

He buscado alrededor de un descubrido cómo agregar un elemento UISegegegedControl al elemento del botón de la barra de navegación (botón de la barra correcta). Funciona bien en el simulador, pero cuando lo pruebo en el dispositivo, solo aparece el primer elemento en el control segmentado. Ocupa toda la longitud (es decir, solo hay un segmento en todo el asunto).

- (void) setupSegmentedControl {
//set up the segmented control and add it to the nav bar rightBartButtonItem
UISegmentedControl * segmentControl = [[UISegmentedControl alloc] initWithItems:[NSArray         arrayWithObjects:[UIImage imageNamed:@"Settings.png"],[UIImage imageNamed:@"Map-Icon.png"],[UIImage imageNamed:@"Search.png"], nil]];
UIBarButtonItem * segmentControlButton = [[UIBarButtonItem alloc] initWithCustomView:segmentControl];
[segmentControl setBackgroundColor:[UIColor clearColor]];
segmentControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentControl.frame = CGRectMake(0, 0, 75, 30);
[segmentControl setMomentary:YES];
[segmentControl addTarget:self
                   action:@selector(segmentedControlAction:)
         forControlEvents:UIControlEventValueChanged];
self.navigationItem.rightBarButtonItem = segmentControlButton;
[segmentControl release];

}

¿Alguna idea de qué salir mal?

¿Fue útil?

Solución

Asegúrese de que los nombres de archivo de la imagen coincidan exactamente con los nombres de recursos en su proyecto, incluidas las letras mayúsculas/minúsculas.

El dispositivo es sensible a la caja y si el nombre no coincide, imageNamed: Volverá nil Terminando la matriz.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top