我只用了一點UIView動畫和塊,基本上是一步動畫。我想將一些步驟疊加到一個序列中。下面的代碼似乎正在工作,但我想知道這是否是正確的方法和/或是否存在將塊放入塊中的任何問題/限制。正確的方式來堆疊UIView動畫和塊?
儘管代碼格式化有些笨拙/不可讀,但塊似乎很棒。
CGRect newFrame = CGRectMake(0, 0, 500, 500);
UIView *flashView = [[UIView alloc] initWithFrame:newFrame];
flashView.tag = 999;
[flashView setBackgroundColor:[UIColor grayColor]];
[flashView setAlpha:0.f];
[self.view addSubview:flashView];
[UIView animateWithDuration:.2f
animations:^{
// STEP 1: FADE IN
[flashView setAlpha:1.f];
}
completion:^(BOOL finished){
[UIView animateWithDuration:.9f
animations:^{
// STEP 2: FADE OUT
[flashView setAlpha:0.f];
}
completion:^(BOOL finished){
// STEP 3: CLEAN UP
[flashView removeFromSuperview];
}
];
}];
如果只修改一個視圖,你可以看看['CAKeyframeAnimation'](https://developer.apple.com/library /mac/documentation/GraphicsImaging/Reference/CAKeyframeAnimation_class/Introduction/Introduction.html)。 – 2013-03-04 05:30:43