He intentado muchos métodos para implementar un UISlider
regular y controlar el volumen del dispositivo, pero son todas las funciones de Native-C lo que da como resultado muchos errores que no se pueden rastrear.¿Cómo personalizar MPVolumeView?
Probé el MPVolumeView
funciona como el encanto, incluso controla el volumen del dispositivo incluso después de cerrar la aplicación, al igual que la aplicación del iPod.
Mi pregunta es, ¿hay alguna forma de personalizar el MPVolumeView
con colores e imágenes específicos, al igual que UISlider
?
NOTA: Quiero un método legal sin utilizar API privadas no documentadas.
ACTUALIZACIÓN
Según respuesta @Alexsander Akers, desde los puntos de vista sub están ocultos en MPVolumeView
que tuvieron que pasar por subvistas, obtener el UISlider
y personalizarlo, aquí está el código.
IBOutlet UISlider *volumeSlider; //defined in <class.h> and connected to a UISlider in Interface Builder
-(void) viewDidLoad {
....
[self setCustomSlider];
....
}
-(void) setCustomSlider{
MPVolumeView *volumeView = [[[MPVolumeView alloc] initWithFrame:[volumeSlider frame]] autorelease];
NSArray *tempArray = volumeView.subviews;
for (id current in tempArray){
if ([current isKindOfClass:[UISlider class]]){
UISlider *tempSlider = (UISlider *) current;
UIImage *img = [UIImage imageNamed:@"trackImage.png"];
img = [img stretchableImageWithLeftCapWidth:5.0 topCapHeight:0];
[tempSlider setMinimumTrackImage:img forState:UIControlStateNormal];
[tempSlider setThumbImage:[UIImage imageNamed:@"thumbImage.png"] forState:UIControlStateNormal];
}
}
[volumeSlider removeFromSuperview];
[self.view addSubview:volumeView];
}
bien hecho. Buen trabajo para actualizar tu pregunta. –
Solo por curiosidad, ¿esto fue aceptado en la App Store? – sooper
@sooper muy tarde respuesta, lo siento. Lamentablemente, no continué esta aplicación y nunca la envié a la App Store.Pero por experiencia personal, he visto muchos tutoriales de modificación de los componentes originales y fueron aceptados. – medopal