У меня есть вид, который содержится в основном виде моего приложения (квадрат в середине экрана).Я написал следующий код, который сдвигает вид с экрана вправо, если вы проведете его влево:
- (IBAction)swipeLeft:(id)sender
{
CGRect initCardViewFrame = self.cardView.frame;
CGRect movedCardToRightViewFrame = CGRectMake(initCardViewFrame.origin.x + 1000, initCardViewFrame.origin.y, initCardViewFrame.size.width, initCardViewFrame.size.height);
[UIView animateWithDuration:0.7
animations:^{self.cardView.frame = movedCardToRightViewFrame;}
completion:nil];
}
Это прекрасно работает, однако я хотел бы расширить код так, чтобы однаждыквадрат уходит с правой стороны экрана, он возвращается с левой стороны обратно в середину.Я не совсем уверен, как «перерисовать» его слева за окном, а затем сдвинуть обратно посередине.Я попытался просто переделать кадры, но анимация показывает только последнее движение кадра в блоке анимации.Я предполагаю, что мне нужно отодвинуть вид от экрана, затем перерисовать его с левой стороны экрана, а затем сдвинуть его посередине.Если, конечно, нет более интуитивного способа сделать это.
Обновление:
Я ответил на этот вопрос ниже, но я не могу не думать, что есть лучший способ сделать этоэто без вложения анимации UIView внутри друг друга.Это единственный способ решить эту проблему?