0
燒在我的項目,在查詢數據庫時該程序觸發一個動畫,當它接收到響應數據時,它會自動觸發另一個動畫顯示的數據。編程鏈接的UIView基於塊的動畫掛在第一時間在iOS
-(void)queryDatabase{
//...querying database ...
[UIView animateWithDuration:0.4
delay:0
options:UIViewAnimationOptionBeginFromCurrentState
animations:^{
//...first animation block...
}
completion:^(BOOL finished){
//...first completion block...
}];
}
-(void)receivedResponse:(NSData *)responseData{
[UIView animateWithDuration:0.4
delay:0
options:UIViewAnimationOptionBeginFromCurrentState
animations:^{
//...second animation block...
}
completion:^(BOOL finished){
//...second completion block...
}];
}
我的問題是,該程序被啓動,並且開火收到的響應與第一次第二動畫的時候,「第二動畫塊」準確執行,但不執行「第二結束塊」和直到約20秒或更長時間過後,屏幕纔會改變。之後,再次調用此循環時,第二個動畫將始終正常工作。怎麼修?
是主線程上執行接收到的響應?你可以把一個破發點上receivedResponse方法,看看它擰正在呼籲在調試導航在Xcode – bandejapaisa
你寫的動畫,嵌段的東西,這是需要時間的第一次執行? Puneet的 –
:動畫塊中的代碼都是關於子視圖的外觀,比如隱藏/顯示,改變幀,改變alpha。沒有耗時的代碼,第一次執行和後續執行沒有區別。它可以在模擬器上正常工作,但在iPhone 4S上有很大的延遲 –