簡體   English   中英

消除模態視圖后的動畫不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM