iOS开发——添加手势
2012-04-12 11:10
281 查看
#import <UIKit/UIKit.h>
@interface TestGestureRecognizerViewController : UIViewController {
UIView *aView;
}
@property(nonatomic,retain)IBOutlet UIView *aView;
@end
///////////////////////////////////////////////////////////////////////////////////////////////
#import "TestGestureRecognizerViewController.h"
#import <QuartzCore/QuartzCore.h>//导入框架
@implementation TestGestureRecognizerViewController
@synthesize aView;
-(void)handelPan:(UIPanGestureRecognizer*)gestureRecognizer{
//获取平移手势对象在self.view的位置点,并将这个点作为self.aView的center,这样就实现了拖动的效果
CGPoint curPoint = [gestureRecognizer locationInView:self.view];
[self.aView setCenter:curPoint];
}
-(void)handelTap:(UITapGestureRecognizer *)gestureRecognizer{
NSLog(@"%s",__FUNCTION__);
[NSRunLoop cancelPreviousPerformRequestsWithTarget:self];//双击事件取消延时
}
//单击方法
-(void)handelSingleTap:(UITapGestureRecognizer*)gestureRecognizer{
NSLog(@"%s",__FUNCTION__);
[self performSelector:@selector(singleTap:) withObject:nil afterDelay:0.2];
}
-(void)singleTap:(id)sender{
NSLog(@"%s",__FUNCTION__);
}
- (void)viewDidLoad {
[super viewDidLoad];
//创建一个平移手势对象,该对象可以调用handelPan:方法
UIPanGestureRecognizer *panGes = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handelPan:)];
[self.aView addGestureRecognizer:panGes];
[panGes release];
//创建一个点击手势对象,该对象可以调用handelTap:方法
UITapGestureRecognizer *tapGes = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handelTap:)];
[self.view addGestureRecognizer:tapGes];
[tapGes release];
[tapGes setNumberOfTouchesRequired:1];//触摸点个数
[tapGes setNumberOfTapsRequired:2];//点击次数
//创建一个点击手势对象,该对象可以调用handelSingleTap:方法
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handelSingleTap:)];
[self.view addGestureRecognizer:singleTap];
[singleTap release];
[singleTap setNumberOfTouchesRequired:1];//触摸点个数
[singleTap setNumberOfTapsRequired:1];//点击次数
}
- (void)dealloc {
[super dealloc];
}
@end
@interface TestGestureRecognizerViewController : UIViewController {
UIView *aView;
}
@property(nonatomic,retain)IBOutlet UIView *aView;
@end
///////////////////////////////////////////////////////////////////////////////////////////////
#import "TestGestureRecognizerViewController.h"
#import <QuartzCore/QuartzCore.h>//导入框架
@implementation TestGestureRecognizerViewController
@synthesize aView;
-(void)handelPan:(UIPanGestureRecognizer*)gestureRecognizer{
//获取平移手势对象在self.view的位置点,并将这个点作为self.aView的center,这样就实现了拖动的效果
CGPoint curPoint = [gestureRecognizer locationInView:self.view];
[self.aView setCenter:curPoint];
}
-(void)handelTap:(UITapGestureRecognizer *)gestureRecognizer{
NSLog(@"%s",__FUNCTION__);
[NSRunLoop cancelPreviousPerformRequestsWithTarget:self];//双击事件取消延时
}
//单击方法
-(void)handelSingleTap:(UITapGestureRecognizer*)gestureRecognizer{
NSLog(@"%s",__FUNCTION__);
[self performSelector:@selector(singleTap:) withObject:nil afterDelay:0.2];
}
-(void)singleTap:(id)sender{
NSLog(@"%s",__FUNCTION__);
}
- (void)viewDidLoad {
[super viewDidLoad];
//创建一个平移手势对象,该对象可以调用handelPan:方法
UIPanGestureRecognizer *panGes = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handelPan:)];
[self.aView addGestureRecognizer:panGes];
[panGes release];
//创建一个点击手势对象,该对象可以调用handelTap:方法
UITapGestureRecognizer *tapGes = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handelTap:)];
[self.view addGestureRecognizer:tapGes];
[tapGes release];
[tapGes setNumberOfTouchesRequired:1];//触摸点个数
[tapGes setNumberOfTapsRequired:2];//点击次数
//创建一个点击手势对象,该对象可以调用handelSingleTap:方法
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handelSingleTap:)];
[self.view addGestureRecognizer:singleTap];
[singleTap release];
[singleTap setNumberOfTouchesRequired:1];//触摸点个数
[singleTap setNumberOfTapsRequired:1];//点击次数
}
- (void)dealloc {
[super dealloc];
}
@end
相关文章推荐
- IOS应用开发09——为自定义UITableViewCell的部分区域添加手势
- iOS开发之UI篇(5)—— 添加手势
- iOS开发中的手势添加
- IOS开发:添加了手势UITapGestureRecognizer,但是点击却没任何反应
- ios开发-给cell添加长按手势
- IOS开发:添加了手势UITapGestureRecognizer,但是点击却没任何反应
- ios开发中的手势添加
- 李洪强iOS开发之添加手势
- iOS开发,UISlider滑块不灵敏问题以及在UIScrollView上添加Slider造成手势冲突问题心得
- IOS开发——根据手势获取添加这个手势的View
- iOS软件开发之在UIScrollView上添加手势不能触发解决办法
- iOS开发添加向上下左右四个方向的手势以及获取触摸点的坐标
- ios开发之手势动作状态细分state,同一视图添加两个手势
- iOS开发解决UITableViewCell和添加侧滑手势冲突的问题
- iOS开发:为xcode项目添加git仓储
- IOS开发之手势——UIGestureRecognizer 共存
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- iOS开发 - 手势移除控制器
- ios开发--给应用添加新的字体的方法
- iOS开发UI篇—ios手势识别(双击、捏、旋转、拖动、划动、长按, 上下左右滑动)