簡體   English   中英

無法從超級視圖中刪除圖像

[英]Not able to remove image from superview

我創建了一個動畫,完成后應該刪除正在動畫的圖像。 由於某種原因,它無法正常工作(即,它沒有刪除圖像)。 我做錯了什么嗎:

[UIView animateWithDuration:1.8 delay:0 options:UIViewAnimationOptionCurveEaseInOut
                 animations:^{
                     appleView[i].frame = CGRectMake(applePosition, 400.0, 25.0, 25.0);
                 }
                 completion:^(BOOL finished){ [appleView[i] removeFromSuperview]; }];

可能的原因是appleView[i]為nil。 在完成程序塊中放置一個斷點,然后檢查。

試試這個代碼..

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.8];
[UIView setAnimationTransition: UIViewAnimationOptionCurveEaseInOut forView:self.view cache:YES];
[appleView[i] removeFromSuperview];
[UIView commitAnimations];

希望對您有幫助...

appleView是局部變量還是類成員? 還有其他改變appleView嗎?

在開始動畫后,完成塊將在1.8秒左右運行,如果appleView是類成員並且發生了某些變化,則可能是刪除了錯誤的內容。 嘗試在本地變量中捕獲appleView [i],如下所示:

UIView *goingAway = appleView[i];
[UIView animateWithDuration:1.8 delay:0 options:UIViewAnimationOptionCurveEaseInOut
       animations:^{
           goingAway.frame = CGRectMake(applePosition, 400.0, 25.0, 25.0);
        } completion:^(BOOL finished){
           [goingAway removeFromSuperview];
        }];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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