有没有办法延迟touchBegan功能的发生?
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *followTouch = [[event allTouches] anyObject];
bull.center = [followTouch locationInView:followTouch.view];}
答案 0 :(得分:1)
这是一个例子。触摸移动后,它会激活一个正方形的运动半秒:
-(void)pan:(UIPanGestureRecognizer *)pan {
CGPoint touchLocation = [pan locationInView:self.view];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.5 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
self.square.center = touchLocation;
});
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIView *square = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 10)];
square.backgroundColor = [UIColor redColor];
self.square = square;
[self.view addSubview:square];
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)];
[self.view addGestureRecognizer:pan];
}