Ich baue eine Anwendung, die eine MPVolumeView benötigt, um das Volume zu steuern. Es funktionierte perfekt vor iOS 5.1, aber seit dem Update 5.1 ist das Daumenbild nicht mehr vertikal zentriert. Ich habe ein paar Dinge ausprobiert, wie zum Beispiel das Ändern von Imagemaßen, das Ändern der Größe meiner Ansichten (und des Sliders), aber nichts scheint zu funktionieren, der Daumen ist einfach nicht mehr vertikal zentriert. Die einzige Möglichkeit, einen zentrierten Daumen zu bekommen, ist, wenn ich den Standard-iOS-Modus verwende.Custom MPVolumeView Thumb Bild nicht vertikal zentriert seit iOS 5.1
Ich habe versucht, einen UISlider zu einer anderen Ansicht mit dem genauen Min-, Max- und Daumenbild hinzuzufügen, und dieses ist zentriert fein. Hier
ist der Code für das 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 ist nur ein UIView das ist 153x33. Ich lege den Daumen in den Screenshot in grün.
Ich hatte das gleiche Problem, [Daniel Amitay] (http://Stackoverflow.com/users/314042/daniel-amitay) wies mich auf die Lösung: http://tir.me/2012/07/14/ customizing-mpvolumeview-appearance/ – murze
Das ist keine großartige Lösung, da es die MPVolumeSlider-Implementierung für alle MPVolumeSlider ersetzt. Dies verursacht einen Offset im MPMoviePlayerViewController-Schieberegler, den wir zum Abspielen anderer Medien verwenden. –
@murze: Das ist ein Hack, wenn ich jemals einen gesehen habe! Wird dies von Apple akzeptiert? – Nailer