UITextView使用大字号和放大镜

7
我有一个UITextView包裹在UIView内,可以调整大小(增加框架和字体大小),并且放大镜在较小的文本视图大小下运作良好。
但是,如果我将文本视图大小增加很多,放大镜就会超出其框架。
我能否只删除放大镜而不影响光标选择,或者减小放大镜内的比例值使内容适合其框架?

https://dev59.com/QGgv5IYBdhLWcg3wYv2i - iPatel
我不想删除UILongPressGestureRecognizer,我想要能够在textView内移动光标,但是不需要放大镜,或者减小放大镜的比例大小,使文本适合放大镜的框架。 - Efesus
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]]; 

0

要禁用放大镜,只需将userInteractionEnabled属性设置为NO。之后,当UITextField被点击时,您必须手动调用becomeFirstResponder。您可以使用TapGestureRecognizer来实现这一点。


我不想完全禁用用户交互,我只想禁用放大镜。此外,我有一个hitTest覆盖了userInteractionEnabled属性。 - Efesus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接