【问题标题】:Setting UITextView selection on tap在点击时设置 UITextView 选择
【发布时间】:2010-08-26 19:45:37
【问题描述】:

我有一个默认情况下不可编辑的 UITextView,以便数据检测器显示地址和电话号码。我希望能够让用户单击文本视图中的任意位置以将其设置为可编辑并将插入点放在那里。不幸的是,我无法获得插入点,单击一下就可以编辑文本视图(例如,我正在尝试完成的工作,在 Notes.app 中创建一个带有 URL 的新笔记。)

我继承了 UITextView 并覆盖了- (void)touchesBegan:withEvent:,以便它检查文本视图是否可编辑。如果不是,我启用编辑。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{
  if (!self.editable)
  {
    self.editable = YES;
  }

  [super touchesBegan:touches withEvent:event];
}

我不确定从那里开始,因为只需调用becomeFirstResponder 会将插入点放在顶部。

【问题讨论】:

    标签: iphone cocoa-touch uitextview


    【解决方案1】:

    听起来您可以设置属性selectedRange 将光标放在您想要的位置。但是,您需要将点(在您的 touchesBegan 方法中)转换为 NSRange 值。

    另一种选择可能是始终让您的 TextView 可编辑,并使用 UITextViewDelegatetextViewShouldBeginEditing 方法。

    不过,我从来没有做过这些,所以请对这些建议持保留态度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-03
      • 1970-01-01
      • 1970-01-01
      • 2021-04-27
      • 2015-08-20
      相关资源
      最近更新 更多