In iOS 8 gibt es ein Problem oder eine Funktion. Wenn MPVolumeView angezeigt wird, wird es animiert, etwa von 0 auf seine Breite zu expandieren. Wie kann ich dieses Verhalten beheben? Unter iOS 7 gab es kein Problem.
Eine Möglichkeit, dieses Verhalten zu entfernen, besteht darin, MPVolumeView von der Unterklasse zu entfernen und einige zusätzliche Arbeiten nach [super layoutSubviews]
auszuführen.
Dies entfernt alle eingefügten Animationen. Also sei sicher, dass du das willst, denn das ist ziemlich der Overkill. Man könnte auch die Animationen position
und bounds
entfernen (siehe removeAnimationForKey:
).
Ich bestätige, dass dieses Problem in iOS 8 weiterhin besteht. Die von Anastasia in einem der obigen Kommentare (mit dem Überschreiben von volumeSliderRectForBounds) bereitgestellte Problemumgehung scheint zu funktionieren, aber nur, wenn die route-Schaltfläche nicht vorhanden ist. Wenn es vorhanden ist, überlappt der Schieberegler die Routenknopf und es kann nicht mehr gedrückt werden.
Ich habe eine einfache Änderung an ihrer Lösung vorgenommen, vielleicht kann sie jemand als Workaround verwenden, bis Apple diese oder eine bessere Lösung installiert hat.
%Vor%Ich mag es nicht, den Spacer-Wert hart zu codieren, aber ich konnte nicht finden, wie man ihn dynamisch berechnet.
Tags und Links objective-c ios ios8 mpvolumeview