如何在 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
}
试试这个
在我的 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
}
试试这个