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