我們需要按照一定的時間間隔(默認圖像處於隱藏狀態=是,並且標籤從1111到1120)順序顯示10張圖像。代碼的結果是立即顯示圖像,毫不拖延。動畫是一個獨立的功能。可能是什麼問題呢?我使用的Xcode 8.2.1動畫無延遲(UIView animateWithDuration延遲)
-(void)doski:(NSInteger)i
{
[UIView animateWithDuration:1.0
delay:5.0
options:UIViewAnimationOptionAutoreverse | UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction
animations:^(void) {
}
completion:^(BOOL finished) {
[self.view viewWithTag:(i+1110)].hidden=NO;
NSInteger i2=i;
i2++;
if(i2<11)
[self doski:i2];
}];
}
...........
//function call
[self doski:1];
當您使用此選項時,情況並沒有改變:
-(void)doski:(NSInteger)i
{
[UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut
animations:^(void) {
}
completion:^(BOOL finished){
[UIView animateWithDuration:2.0 delay:1.0 options:
UIViewAnimationOptionCurveEaseIn animations:^{
[self.view viewWithTag:(i+1110)].hidden=NO;
} completion:^ (BOOL completed) {NSInteger i2=i;
i2++;
if(i2<18)
[self doski:i2];}];
}];
}
謝謝。
如果(完成)在完成塊中添加,並且您在第一個方法的動畫塊之外調用[self dosk:1]。這段代碼真的很混亂和臭,我會用UICollecitonView去做動畫。 –