scrollView内のビューの削除をアニメーション化しようとしています。scrollViewのサブビューは、オブジェクトの配列から入力されています。各オブジェクトには、それを表すビューがあります。削除すると、indexOutOfBounds例外が発生することがあります。これは私の削除コードです:
-(void)deleteView:(UIView *)viewToDelete{
[self.myObjects removeObjectAtIndex:viewToDelete.tag];
[UIView animateWithDuration:0.5 animations:^{
viewToDelete.alpha = 0.0;
for (NSInteger index = viewToDelete.tag+1; index<self.myViews.count; index++){
UIView *view = [self.myViews objectAtIndex:index];
view.center = CGPointMake(view.center.x,view.center.y-viewToDelete.frame.size.height);
}
}]; completion:^(BOOL finished) {
[view removeFromSuperview];
}];
[self.myViews removeObjectAtIndex:viewToDelete.tag];
for (NSInteger index=0; index<self.myVies.count; index++){
UIView *view = [self.myViews objectAtIndex:index];
view.tag = index;
}
}