如何将触摸传递给UITextView

时间:2011-04-23 21:06:49

标签: iphone objective-c cocoa-touch uitextview uitouch

我有一个UITextView隐藏在另一个叫做canTouchMe的视图下面。

现在,一旦调用了canTouchMe,我就将UITextView带到前面并将其指定为第一个响应者。但是,我希望将光标放在用户触摸屏幕的任何位置。现在,即使用户触及它的最开头,光标也会跳到UITextView的最后。

- 有没有办法将触摸传递给UITextView?

- 或者有没有办法告诉UITextView将光标放在currentPosition附近?

这是我的代码:

 - (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) {

        NSLog(@"Touch");


        [self.view sendSubviewToBack:canTouchMe];


        [textView becomeFirstResponder];


    }


}

我尝试用[textView touchesBegan:touches withEvent:event]传递触摸;但那没用。

1 个答案:

答案 0 :(得分:1)

我没试过这个,但在阅读了UITextView的文档后,我会使用这段代码:

[myUITextView scrollRangeToVisible:[myUITextView selectedRange]];

这会将您滚动到您触摸的位置,并可能在那里插入光标。如果有效,请告诉我。