我有一个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]传递触摸;但那没用。
答案 0 :(得分:1)
我没试过这个,但在阅读了UITextView的文档后,我会使用这段代码:
[myUITextView scrollRangeToVisible:[myUITextView selectedRange]];
这会将您滚动到您触摸的位置,并可能在那里插入光标。如果有效,请告诉我。