1.UIPanGestureRecognizer 判断向左向右:
https://stackoverflow.com/questions/5187502/how-can-i-capture-which-direction-is-being-panned-using-uipangesturerecognizer
- (void)handleGesture:(UIPanGestureRecognizer *)gestureRecognizer
{
//获取手势的加速度
CGPoint velocity = [gestureRecognizer velocityInView:yourView];
if(velocity.x > 0)
{
NSLog(@"gesture went right");
}
else
{
NSLog(@"gesture went left");
}
}
手势的几种状态:
UIGestureRecognizerStateBegan:移动开始
UIGestureRecognizerStateChanged:移动中
UIGestureRecognizerStateEnded:移动结束
2.新建单击手势:
声明:
@property (nonatomic, strong) UITapGestureRecognizer *tapGesture;方法:
#pragma mark - tap gesture method
-(UITapGestureRecognizer *)tapGesture{
if (!_tapGesture) {
_tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapAction:)];
//单击
[_tapGesture setNumberOfTapsRequired:1];
}
return _tapGesture;
}
//触发
- (void)handleTapAction:(UITapGestureRecognizer *)tapGesture{
[self resetShowType:PSDrawerManagerShowCenter];
//刷新UI,有时需要异步
dispatch_async(dispatch_get_main_queue(), ^{
[self callNotificationReceiver:@"show_center"];
});
}
-(void)addTapGesture{
if (!_tapGesture) {
//注意:这里要使用self.tapGesture而不是_tapGesture,要不会报错
[_cover_view addGestureRecognizer:self.tapGesture];
}
}
-(void)removeTapGesture{
if (_tapGesture) {
[self.centerViewController.view removeGestureRecognizer:_tapGesture];
}
}
本文详细介绍了如何使用UIPanGestureRecognizer来判断手势的方向,并提供了具体的实现代码示例。此外,还介绍了如何创建并使用UITapGestureRecognizer来响应单击手势。
2万+

被折叠的 条评论
为什么被折叠?



