2011-04-23 11 views
1

canTouchMeという別のビューの下に隠されているUITextViewがあります。UITextViewにタッチする方法

今、canTouchMeが呼び出されると、私はUITextViewを前面に持ってきて、それを最初のレスポンダとして割り当てます。しかし、ユーザーが画面に触れた場所にカーソルを置いておきたい。今、ユーザが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:withEventに触れる:イベント]。しかしそれはうまくいかなかった。

答えて

1

私はこれを試していないが、UITextViewのためのドキュメントを読んだ後、私はこのコードで遊びます:

[myUITextView scrollRangeToVisible:[myUITextView selectedRange]]; 

これはあなたが触れた場所にあなたをスクロールして、おそらくそこにカーソルを挿入する必要があります。それがうまくいくかどうか私に教えてください。

+0

申し訳ありませんが、私はとても長い時間がかかりました。私はちょうどこれを試みたが、それは動作しなかった(それはまったく何の影響も与えなかった)。私はselectedRangeにcurrentPositionを変換する必要があると思うが、それを行う巧妙な方法を考えることはできません。 –

関連する問題