【问题标题】:Links and Phone Numbers Not Detectable on iOS 7在 iOS 7 上无法检测到链接和电话号码
【发布时间】:2013-12-30 20:44:08
【问题描述】:

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

【问题讨论】:

    标签: ios ios7 uitextview


    【解决方案1】:

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

    1. 使 UITextView 不可编辑。
    2. 为 1 次点击添加点击手势识别器。
    3. 在手势识别器的操作中,使 UITextView 可编辑并从点击位置设置光标位置。
    4. 使 UITextView 在退出第一响应者状态时不可编辑。

    这是我的点击手势识别器操作。 (这是在派生自 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)];
    }
    

    【讨论】:

    • 您是否提交了错误报告?这个问题在 iOS 7.1 测试版中是否仍然存在?
    • 我没有提交错误报告,它仍然存在于 iOS 7.1 测试版中。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2012-07-10
      • 2011-05-30
      • 2013-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-27
      • 1970-01-01
      相关资源
      最近更新 更多