我有一个 UITextView 包裹在一个 UIView 中,它可以调整大小(增加框架和字体大小),放大镜适用于较小的 textview 大小
但是如果我增加 textview 的大小很多,放大镜开始超出它的框架
我可以在不影响光标选择的情况下移除放大镜,或者减小玻璃内的比例值以使内容适合其框架吗?
我有一个 UITextView 包裹在一个 UIView 中,它可以调整大小(增加框架和字体大小),放大镜适用于较小的 textview 大小
但是如果我增加 textview 的大小很多,放大镜开始超出它的框架
我可以在不影响光标选择的情况下移除放大镜,或者减小玻璃内的比例值以使内容适合其框架吗?
好的,设法禁用放大镜而不删除移动光标的能力。
为此,我删除了 UILongPressGestureRecognizer 以摆脱放大镜。然后使用我的 UIPanGestureRecognizer 来跟踪用户的触摸位置
CGPoint currentPos = [panRecognizer locationInView:self];
然后设置光标位置
UITextPosition *cursorPosition=[self closestPositionToPoint:CGPointMake(currentPos.x, currentPos.y)];
[self setSelectedTextRange:[self textRangeFromPosition:cursorPosition toPosition:cursorPosition]];
要禁用放大镜,只需将userInteractionEnabled
属性设置为NO
. 之后,您必须在becomeFirstResponder
点击 UITextField 时手动调用。你可以使用 aTapGestureRecognizer
来做到这一点。