【问题标题】:UITextView with large font size and magnifying glass带有大字体和放大镜的 UITextView
【发布时间】:2013-08-27 09:45:38
【问题描述】:

我有一个 UITextView 包裹在一个 UIView 中,它可以调整大小(增加框架和字体大小),放大镜适用于较小的 textview 大小

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

我是否可以在不影响光标选择的情况下移除放大镜,或者减小放大镜内的比例值以使内容适合其框架?

【问题讨论】:

  • 我不想删除 UILongPressGestureRecognizer,我希望能够在没有放大镜的情况下在 textView 内移动光标,或者减小放大镜比例大小,使文本适合放大镜框架

标签: ios objective-c uitextview


【解决方案1】:

好的,在不移除移动光标功能的情况下成功禁用放大镜。

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

CGPoint currentPos = [panRecognizer locationInView:self];

然后设置光标位置

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 我不想完全禁用用户交互,我只想禁用放大镜。我还有一个覆盖 userInteractionEnabled 属性的 hitTest
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-25
    • 2021-04-15
    • 2012-05-07
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    • 2010-11-18
    相关资源
    最近更新 更多