У меня очень неприятная проблема.Вот контекст: у меня есть «прямоугольный» вид, который является подпредставлением основного вида.То, что я пытаюсь сделать, это просто, когда я нажимаю на кнопку, я хочу, чтобы представление «прямоугольник» переместилось по оси x, чтобы исчезнуть.Затем я добавляю новое подпредставление и перевожу его, чтобы занять место предыдущего представления «прямоугольник».Это нормально работает, за исключением того, что если я нажму кнопку еще раз, анимация начнется с экрана, как CGAffineTransformMakeTranslation не изменил кадр моего нового представления «прямоугольник».Вот код:
UIView *rectangleView = [detailView viewWithTag:4]; //the actual frame is (20.0, 30.0, 884.0, 600.0)
[UIView animateWithDuration:0.5 animations:^{
[rectangleView setTransform:CGAffineTransformMakeTranslation(-1000, 0)];
} completion:^(BOOL finished) {
[rectangleView removeFromSuperview];
UIView *otherView = [[UIView alloc] initWithFrame:CGRectMake(1020.0, 30.0, 884.0, 600.0)];
[otherView setBackgroundColor:[UIColor purpleColor]];
[otherView setTag:4];
[detailView addSubview:otherView];
[UIView animateWithDuration:0.5 animations:^{
[otherView setTransform:CGAffineTransformMakeTranslation(-1000, 0)];
} completion:^(BOOL finished) {
[otherView release];
}];
}];