UISEGIGHTCONTROL solo muestra el primer elemento en el dispositivo, pero funciona en simulador
-
26-10-2019 - |
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?
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