如何在 UIView Like Swipeable UITableViewCell 中制作类似于 "Slide to unlock" 的动画

How to make an animation similar to "Slide to unlock" within a UIView Like Swipable TabbleView Cell

在我的 Xib 中。我包含了 3 个子视图和 3 个小图像视图

![我必须分别为每个视图添加向右滑动和向左滑动的动画。根据滑动方向,一个视图的简单滑动效果很好,项目被收藏,图像位置也可能改变][2]

 //........towards right Gesture recogniser for swiping.....//
    UISwipeGestureRecognizer *rightRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightSwipeHandle:)];
    rightRecognizer.direction = UISwipeGestureRecognizerDirectionRight;
    [rightRecognizer setNumberOfTouchesRequired:1];
    [self.view addGestureRecognizer:rightRecognizer];

    //........towards left Gesture recogniser for swiping.....//
    UISwipeGestureRecognizer *leftRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(leftSwipeHandle:)];
    leftRecognizer.direction = UISwipeGestureRecognizerDirectionLeft;
    [leftRecognizer setNumberOfTouchesRequired:1];
    [self.view addGestureRecognizer:leftRecognizer];

- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer
{

    NSLog(@"Right Gesture");
    self.Favimage.hidden = false;
    self.closeImage.hidden = true;


}

- (void)leftSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer
{

    NSLog(@"Left Gesture");
    self.Favimage.hidden = true;
    self.closeImage.hidden = false;


}

这是我现在尝试的。我必须用更好的动画来做到这一点。提前致谢

我想。这就是您要找的

- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer
{

    NSLog(@"Right Gesture");
    self.closeImage.hidden = true;
   // self.shoe.hidden = true;
    //Do moving

    CGRect finalFrame = CGRectMake(150,5, 64, 63);
    [UIView animateWithDuration:0.5 animations:^{
        _shoe.frame = finalFrame;
         self.Favimage.hidden = true;
    } completion:^(BOOL finished) {
        self.Favimage.hidden = false;

      // [_Favimage removeFromSuperview];

        //[_Favimage removeFromSuperview];
        //[self.view removeGestureRecognizer:gestureRecognizer];
    }];
}

- (void)leftSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer
{

    NSLog(@"Left Gesture");
    self.Favimage.hidden = true;
    self.closeImage.hidden = false;

    CGRect finalFrame = CGRectMake(77,5, 70, 63);

    [UIView animateWithDuration:0.5 animations:^{
        _shoe.frame = finalFrame;

    } completion:^(BOOL finished) {
        //self.Favimage.hidden = false;

        //[_Favimage removeFromSuperview];

        //[_Favimage removeFromSuperview];
        //[self.view removeGestureRecognizer:gestureRecognizer];
    }];
    // do moving
}

试试这个