Seit Stunden habe ich versucht, die kleinste Animation Glitch zu lösen. Mein Code verschiebt die Ansicht erfolgreich vom Bildschirm und animiert sie dann wieder zurück. Die X-Koordinaten werden richtig gelesen, aber die Y-Achse hat ein Verhalten, das ich nicht verstehe. Hier ist der Code:iOS Animation gestört, Y-Koordinaten Probleme
func listTrans_slideIn (slideFrom: String) {
//var newFrame = tableView.frame
tableView.frame.origin.x = 1000
//tableView.frame.origin.y = 100
print("Table pushed to side")
UIView.animateKeyframesWithDuration(1.375 /*Total*/, delay: 0.0, options: UIViewKeyframeAnimationOptions.CalculationModeLinear, animations: {
UIView.addKeyframeWithRelativeStartTime(0.0, relativeDuration: 1/1, animations:{
self.tableView_toTLG_Top.constant = 130
self.tableView_toSV_Left.constant = 0
self.tableView_toSV_Right.constant = 0
self.setupView()
//newFrame.origin.y = self.hdrBox.frame.height+50
//newFrame.origin.x = 0
//self.tableView.frame = newFrame
self.tableView.layoutIfNeeded()
})
},
completion: { finished in
if (!finished) { return }
})
}
Das seltsame Verhalten ist, dass wenn ich die richtige setzen y-Koordinate in der Animation Keyframe, kommt es in zu hoch, aber dann setzt sich am richtigen koordinieren. Wenn ich eine y-Koordinate einfüge, die zu niedrig ist, kommt sie auf die richtige Höhe, setzt sich dann aber zu tief ein.
Wie Sie sehen können, habe ich versucht, Frames und Einschränkungen zu verwenden. Ich habe versucht, die Höhe zu ändern, auf die ich es vom Bildschirm verschiebe, aber das scheint keine Wirkung zu haben.
Wer weiß schon, warum ich diesen halben Tag damit verbracht habe, diesen Käfer zu sehen?