[英]Animation after Dismissing a Modal View Does Not Work
我正在嘗試運行以下動畫-殺死模態視圖控制器並返回主屏幕后立即觸發。 我正在對UIImageView(activeThumbnail)進行動畫處理,以使模態視圖的錯覺縮小到屏幕上的某個位置。 動畫制作完成后,我通過將其alpha設置為0來使縮略圖不可見。這看起來很簡單,並且之前我使用了這種動畫一百次。
問題是,這一次,當我將alpha更改線放在“ finished”塊中時,動畫不會觸發; 它只是直接跳到完成的塊並使UIImageView立即變暗。 有趣的是,當我對該行進行注釋時,動畫將按預期運行。 這是上面提到的動畫塊:
[self dismissViewControllerAnimated:NO completion:nil];
[UIView animateWithDuration:0.4f
delay:0.0f
options: UIViewAnimationOptionCurveEaseInOut
animations:^{
activeThumbnail.frame = CGRectMake(activeThumbnailFrame.x, activeThumbnailFrame.y, 60.0f, 60.0f);
}
completion:^(BOOL finished)
{
//activeThumbnail.image = nil;
//activeThumbnail.alpha = 0.0f;
}];
有人可以指出我在這里缺少什么嗎?
更新:我做了一些實驗,發現問題出在消除模態視圖控制器的行內。 它以某種方式與動畫的完成塊混合在一起。 當我將動畫塊移動到單獨的方法並從dismiss命令的完成塊調用它時,它會按預期運行:
completion:^{[self animationMethod];}
這樣做的問題是,即使將動畫設置為“否”,也需要花費大約兩秒鍾的時間來觸發解除線的完成塊。 我仍然對如何解決這個問題感到困惑。
如果使用情節提要,則應考慮類似以下示例的內容
如果不使用情節提要,則可以通過將父viewController設置為子級的屬性,並嘗試以與使用展開動畫相同的方式來執行鏈接文章中的示例,以使其起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.