【发布时间】:2013-12-18 16:39:18
【问题描述】:
我的问题的目标是制作像 iOS 一样的笔记应用程序。 iOS 的笔记应用程序的重点是他们提供给用户使用超链接或电话号码链接或电子邮件地址作为蓝色文本颜色,我们可以同时编辑文本。
通常,当我们按下 UITextView 时,它会将光标定位到我们触摸的位置。但是如果我使用 UITextView 的 dataDetectorTypes 来放置电话号码或 iOS 的便笺应用程序等 http 链接,我应该将其设置为不可编辑,否则链接不起作用。 这意味着我无法单击 UITextView 和编辑文本。
但我可以使用下面的代码将其设置为可编辑
UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(editTextRecognizerTabbed:)];
-
- (BOOL) editTextRecognizerTabbed:(UITapGestureRecognizer *) aRecognizer
{
textview.editable = YES;
textview.dataDetectorTypes = UIDataDetectorTypeNone;
[textview becomeFirstResponder];
}
现在我可以编辑文本,一切正常,但问题是它总是从文本结尾开始,所以用户应该再次点击他们想要写的地方。我明白原因。
现在我想将光标移动到我在第一个点按下的位置,并通过使用 [aRecognizer locationInView:view] 获得坐标;
那么如何将 UITextView 中的光标移动到我从识别器获得的位置?
谢谢。
【问题讨论】:
-
这是正常的 iOS 行为。
标签: ios iphone uitextview