Estoy construyendo una aplicación que necesita un MPVolumeView para controlar el volumen. Funcionó perfectamente antes de iOS 5.1, pero desde la actualización 5.1, la imagen de pulgar ya no está centrada verticalmente. Intenté algunas cosas como cambiar las dimensiones de la imagen, cambiar el tamaño de mis vistas (y del control deslizante), pero parece que nada funciona, el pulgar ya no está verticalmente centrado. La única forma de obtener un pulgar centrado es si uso el iOS predeterminado.Personalizado MPVolumeView Thumb Image no centrado verticalmente desde iOS 5.1
Intenté agregar un UISlider a otra vista con el min exacto, el máximo y la imagen del pulgar y ese se centra bien.
Aquí está el código para el MPVolumeView:
MPVolumeView *volumeView;
volumeView = [[[MPVolumeView alloc] initWithFrame:volumeViewHolder.bounds] autorelease];
[volumeViewHolder addSubview:volumeView];
UIView *volumeViewSlider;
for (UIView *view in [volumeView subviews])
{
if ([[[view class] description] isEqualToString:@"MPVolumeSlider"])
{
volumeViewSlider = view;
}
}
[(UISlider *)volumeViewSlider setThumbImage:sliderHandleIcon forState:UIControlStateNormal];
[(UISlider *)volumeViewSlider setMinimumTrackImage:leftTrackImage forState:UIControlStateNormal];
[(UISlider *)volumeViewSlider setMaximumTrackImage:rightTrackImage forState:UIControlStateNormal];
volumeViewHolder es sólo un UIView eso es 153x33. Pongo el dedo pulgar en verde en la captura de pantalla.
Tuve el mismo problema, [Daniel Amitay] (http://stackoverflow.com/users/314042/daniel-amitay) me indicó la solución: http://tibr.me/2012/07/14/ customizing-mpvolumeview-appearance/ – murze
No es una gran solución ya que reemplaza la implementación de MPVolumeSlider para todos los MPVolumeSlider. Esto provoca un desplazamiento en el control deslizante MPMoviePlayerViewController que usamos para reproducir otros medios. –
@murze: ¡Es un truco si alguna vez lo veo! ¿Es esto aceptado por Apple? – Nailer