- - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
- NSLog(@"touchesBegan");
- //test
- UITouch *touch = [event allTouches] anyObject];
- if ([touch tapCount] == 2) {
- NSLog (@"tapcount 2");
- [self.textview becomeFirstResponder];
- }
- else if ([touch tapCount] == 1) {
- NSLog (@"tapcount 1");
- [self.textview becomeFirstResponder];
- [self.view performSelector:@selector(select:)];
- }
- }
- - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
- [super touchesBegan:touches withEvent:event];
- NSLog(@"touchesMoved");
- }
- - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
- NSLog(@"****touchesEnded");
- [self.nextResponder touchesEnded: touches withEvent:event];
- NSLog(@"****touchesEnded");
- [super touchesEnded:touches withEvent:event];
- NSLog(@"****touchesEnded");
- }
- - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event{
- [super touchesCancelled:touches withEvent:event];
- NSLog(@"touchesCancelled");
- }
我的问题:
我想在UITextView上点击一次即可模拟两个水龙头,这是该代码中的textview.但是当我在textview上点击一次或两次时,我只能从一个和两个水龙头得到NSLog,只有在外面.我应该怎么做才能使它工作?
解决方法
可能我会在这里使用两个
gesture recognizers.
- //...some stuff above here probably in you're controllers viewDidLoad
- UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTapRecognized:)];
- singleTap.numberOfTapsrequired = 1;
- [someTextView addGestureRecognizer:singleTap];
- [singleTap release];
- UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doubleTapRecognized:)];
- doubleTap.numberOfTapsrequired = 2;
- [someTextView addGestureRecognizer:doubleTap];
- [doubleTap release];
选择器就像:
- - (void)singleTapRecognized:(UIGestureRecognizer *)gestureRecognizer {
- NSLog(@"single tap");
- // ...etc
- }
- - (void)doubleTapRecognized:(UIGestureRecognizer *)gestureRecognizer {
- NSLog(@"double tap");
- // ...etc
- }