UITextView具有大字体和放大镜

时间:2013-08-24 11:31:57

标签: ios objective-c uitextview

我有一个UITextView包含在UIView中,可以调整大小(增加帧和字体大小),放大镜可以正常工作,文本视图尺寸较小

Magnifying glass working normal

但是如果我大量增加textview的大小,放大镜就会开始走出它的框架

enter image description here

我可以在不影响光标选择的情况下移除放大镜,还是减小玻璃内的刻度值以使内容适合其框架?

2 个答案:

答案 0 :(得分:2)

好的,设法禁用放大镜而不删除移动光标的能力。

为此,我删除了UILongPressGestureRecognizer以摆脱放大镜。然后使用我的UIPanGestureRecognizer跟踪用户的触摸位置

CGPoint currentPos = [panRecognizer locationInView:self];

然后设置光标位置

UITextPosition *cursorPosition=[self closestPositionToPoint:CGPointMake(currentPos.x, currentPos.y)];
[self setSelectedTextRange:[self textRangeFromPosition:cursorPosition toPosition:cursorPosition]]; 

答案 1 :(得分:0)

要禁用放大镜,只需将userInteractionEnabled属性设置为NO即可。之后,您必须在点击UITextField时手动调用becomeFirstResponder。您可以使用TapGestureRecognizer来执行此操作。