iOS 7上无法检测到链接和电话号码

时间:2013-12-30 20:44:08

标签: ios ios7 uitextview

我有一个在界面构建器中创建的UITextView,所以我没有为它编写代码。我已经检查了链接和电话号码检测的方框。它不可编辑,可以选择。问题是,除非您点按并按住文本视图,否则网址和电话号码不可点击。如果您这样做,网址和电话号码会变为蓝色,您可以点按它们。我看到其他人有同样的问题,发现禁用滚动修复了问题,但我需要能够滚动,所以我想知道是否有人有另一个解决方案。

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。这是我提出的解决方案。我很想知道其他人是否有更清洁的解决方案。

  1. 使UITextView无法编辑。
  2. 添加点按手势识别器1次点击。
  3. 在手势识别器的操作中,使UITextView可编辑,并从点按位置设置光标位置。
  4. 在重新启动第一响应者状态时,不能编辑UITextView。
  5. 这是我的点击手势识别器动作。 (这是从UITextView派生的类中,因此您可能需要将self更改为您的UITextView实例。)

    - (void)onTap:(UITapGestureRecognizer*)sender
    {
        self.editable = YES;
        [self becomeFirstResponder];
    
        //We need manually set the cursor on iOS7 since the gesture recognizer picked up the recognizer
        CGPoint pt = [sender locationInView:self];
        NSUInteger glyphIndex = [self.layoutManager glyphIndexForPoint:pt inTextContainer:self.textContainer];
        NSUInteger charIndex = [self.layoutManager characterIndexForGlyphAtIndex:glyphIndex];
        [self setSelectedRange:NSMakeRange(charIndex, 0)];
    }
    

答案 1 :(得分:0)

此问题已在iOS 7.1 beta 3中修复。