Передача Нажмите на UITextView - PullRequest
0 голосов
/ 18 апреля 2011

Мне было интересно, как передать касание UIView в UITextView. Это мой код:

- (void)foundTap:(UITapGestureRecognizer *)recognizer {

label.text = @"Touch detected";

[self.view bringSubviewToFront:aTextView];

[aTextView touchesBegan:touches withEvent:event];

}

Теперь это, очевидно, не работает, поскольку касания и события не определены. Но как мне их определить? Я не могу объявить касания как 1 (не будет работать). Я мог бы инициализировать это так:

UITouch *touches =[touches anyObject];

Но опять же, прикосновения все еще не объявлены. И я понятия не имею, как объявить это событие. Это обычно легко, если вы используете метод - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {}, но я хочу передать касание, а не касания. Любая помощь будет принята с благодарностью.


Edit:

Я переписал метод, но все еще не могу передать сигнал UITextView. Теперь мне нужно дважды нажать, чтобы отредактировать его, то есть первое нажатие для вывода aTextView авансом, а второе нажатие затем отредактирует UITextView (так как он находится впереди и, таким образом, получает все касания и т.д.):

 - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{

    [super touchesMoved:touches withEvent:event];

    UITouch *touch = [touches anyObject];
    CGPoint currentPosition = [touch locationInView:self.view];

    CGFloat deltaX = fabsf(gestureStartPoint.x - currentPosition.x); // will always be positive
    CGFloat deltaY = fabsf(gestureStartPoint.y - currentPosition.y); // will always be positive


    if (deltaY == 0 && deltaX == 0) {

        label.text = @"Touch"; [self performSelector:@selector(eraseText) withObject:nil afterDelay:2];

        [self.view bringSubviewToFront:aTextView];
        [self.view bringSubviewToFront:doneEdit];

        [aTextView touchesBegan:touches withEvent:event];

    }


}

1 Ответ

0 голосов
/ 18 апреля 2011

Посмотрите, поможет ли этот предыдущий вопрос SO iPhone: обнаружение касания в MKMapView .

...