我有一个通过Interface Builder管理的UITextView
。在数据检测方面,我已经勾选了“链接”。在iOS 6中,一切都正常工作,链接被突出显示并且可以点击。然而,在iOS 7中,所有链接仍然只是普通文本。可编辑和可选择的复选框未被勾选。
可能需要注意的是,UITextView
是容器视图的子视图,该容器视图再次位于UIScrollView
中。
我有一个通过Interface Builder管理的UITextView
。在数据检测方面,我已经勾选了“链接”。在iOS 6中,一切都正常工作,链接被突出显示并且可以点击。然而,在iOS 7中,所有链接仍然只是普通文本。可编辑和可选择的复选框未被勾选。
可能需要注意的是,UITextView
是容器视图的子视图,该容器视图再次位于UIScrollView
中。
在类似的设置中,取消UITextView的滚动功能对我有用。
将色调颜色更改为其他颜色实际上是有效的。 但是,如果启用了可选择功能,则色调也将是相同的颜色。
以上的方法对我都没用,我采用了以下方法:
[self.textView setDataDetectorTypes:UIDataDetectorTypeNone];
[self.textView.setTextColor:[UIColor whiteColor]];
[self.textView setDataDetectorTypes:UIDataDetectorTypeNone];
虽然这个帖子有些老,但我没有看到对于Swift有用的答案,所以我在这里提供Swift 2.2的解决方案。
textView.dataDetectorTypes = UIDataDetectorTypes.Link
textView.selectable = true
这个解决方法对我有效:
textView.selectable = YES;
textView.delegate = self;
- (void) textViewDidChangeSelection:(UITextView *)textView;
{
NSRange range = NSMakeRange(NSNotFound, 0.0);
if ( range.length && !NSEqualRanges(range, textView.selectedRange) ) {
textView.selectedRange = range;
}
}
_textView.userInteractionEnabled = YES;
_textView.dataDetectorTypes = UIDataDetectorTypeLink;
_textView.scrollEnabled = NO;
_textView.editable = NO;
这对我有用。