0
我有以下簡單的嵌套動畫代碼用於轉換,如附圖所示。自動佈局和嵌套動畫
[UIView animateWithDuration:2.0f animations:^{
CGRect frame = self.label.frame;
frame.origin.y += 100;
self.label.frame = frame;
} completion:^(BOOL finished) {
[UIView animateWithDuration:2.0f animations:^{
self.button.transform = CGAffineTransformMakeRotation(M_PI);
}completion:^(BOOL finished) {
//
}];
}];
視圖佈局在具有自動佈局XIB文件中定義。正如IB自動提出的,它對按鈕和標籤都有垂直限制。
在這種情況下,轉換不像附圖所示。它從State1到State2,但是簡要地回到State1,然後轉到State3。
我的想法是,這是由標籤的垂直約束引起的。當我以編程方式在動畫之前刪除約束時,動畫開始按預期工作。
[self.view removeConstraint:self.labelConstraint];
我想知道的是,如果這是正確的方式做到這一點。一些post表明,由於約束不足以確定佈局,刪除約束有時會導致不可預測的行爲。
已經過了幾個星期了,所以我會接受我的回覆... – barley 2013-04-24 21:35:11