7

サイズを変更できる(フレームとフォントサイズを大きくする)ことができる UIView 内にラップされた UITextView があり、虫眼鏡はより小さいテキストビューサイズで正常に動作します

虫眼鏡は正常に動作

しかし、テキストビューのサイズを大きくすると、虫眼鏡がフレームからはみ出し始めます

ここに画像の説明を入力

カーソルの選択に影響を与えずに虫眼鏡を削除したり、虫眼鏡内のスケール値を減らしてコンテンツがフレームに収まるようにすることはできますか?

4

2 に答える 2

2

わかりました。カーソルを移動する機能を削除せずに、虫眼鏡を無効にすることができました。

そのために、UILongPressGestureRecognizer を削除して、虫眼鏡を取り除きました。次に、UIPanGestureRecognizer を使用して、ユーザーのタッチ位置を追跡しました

CGPoint currentPos = [panRecognizer locationInView:self];

次に、カーソル位置を設定します

UITextPosition *cursorPosition=[self closestPositionToPoint:CGPointMake(currentPos.x, currentPos.y)];
[self setSelectedTextRange:[self textRangeFromPosition:cursorPosition toPosition:cursorPosition]]; 
于 2013-08-26T15:10:23.423 に答える
0

虫めがねを無効にするには、userInteractionEnabledプロパティを に設定しますNO。その後becomeFirstResponder、UITextField がタップされたときに手動で呼び出す必要があります。a を使用しTapGestureRecognizerてそれを行うことができます。

于 2013-08-24T11:42:00.993 に答える