Vor einiger Zeit sind wir auf eine interessante Animationsstörung gestoßen. Die eigentliche Lösung ist ganz einfach.
Hier ist die Ursache des Problems. Eine Tabellenansicht konnte in einen Bearbeitungsmodus umgeschaltet werden. Bei dieser Umschaltung wurde ein Etikett aus der Ansicht heraus animiert und ausgeblendet. Seltsamerweise änderte sich die Schriftgröße dieser Beschriftung genau in der Sekunde, bevor die eigentliche Animation begann.
Prüfen Sie die Datei XSDSecondViewController https://github.com/xebia/ios-DemoForBlog/blob/master/DemoForBlog/XSDSecondViewController.m für Details.
Das grundlegende Problem wird in diesem Codeausschnitt gezeigt:
[sourcecode language="c"]
-(IBAction) animateButtonPressed:(id)sender {
NSLog(@"%@", Absender);
[UIView animateWithDuration:2.0 animations:^{
CGRect frame = animatedLabel.frame;
if(frame.origin.x != 10) {
frame.origin.x = 10;
} sonst {
frame.origin.x = 100;
}
if (self.shouldGlitch) {
if (frame.size.width == 150.0) {
frame.size.width = 155.0;
} sonst {
frame.size.width = 150.0;
}
}
animatedLabel.frame = frame;
}];
}
[/sourcecode]
Die Eigenschaft shouldGlitch ist ein BOOL, das durch einen Schalter auf dem Bildschirm umgeschaltet wird. Laden Sie den Code herunter und probieren Sie ihn aus, zweite Registerkarte nach dem Start der Anwendung.
Verfasst von

Jeroen Leenarts
Contact



