2
出於某種原因,如果我只是使用的代碼:AnimateWithDuration是否正常奇怪
[UIView animateWithDuration:.5 delay:0
options:UIViewAnimationOptionCurveEaseInOut
animations:^{
CGRect newDescriptFrame = [self.summaryTextField frame];
newDescriptFrame.size.height = (bkgndRect.size.height - kbSize.height) - ((newDescriptFrame.origin.y) + 10);
self.descriptionTextView.frame = newDescriptFrame;
}
completion:^(BOOL finished){
}];
它移動descriptionTextView
就好了,但如果我與此相伴再添動畫塊。
[UIView animateWithDuration:.3 delay:.5
options:UIViewAnimationOptionCurveEaseInOut
animations:^{
self.summaryLabel.alpha = 0.0;
self.summaryLabel.alpha = 1.0;
}
completion:^(BOOL finished){}];
descriptionTextView
的回覆到其原始位置的動畫之前,當第二塊動畫。爲什麼會發生?我如何解決它?如果我在框架更改的同一個塊中移動alpha更改。它根本不會動畫化框架更改。
這可能是佈局約束問題。你在使用故事板還是xib?如果是這樣,請嘗試關閉自動佈局(左側的第一個選項卡,文件檢查器),並查看是否修復了它。 – rdelmar 2013-02-15 20:59:57
@rdelmar我必須使用AutoLayout,因爲我在所有其他視圖中使用它。另一個奇怪的事情發生,如果我把幀改變出動畫塊,它仍然不會改變,如果我有alpha動畫塊。如果我將alpha動畫塊註釋掉,框架會發生變化.... – Alan 2013-02-15 21:24:41
有時您會發現它是最初發生變化的位置,但是當其他視圖佈局通過時,事物會恢復到原來的位置。如果你使用佈局約束,那麼你不應該設置框架。您應該爲您想要更改的任何約束制定出路,並改爲爲約束設置動畫。 – rdelmar 2013-02-15 21:40:21