gpt4 book ai didi

ios - 带有可点击链接但没有文本突出显示的 UITextView

转载 作者:IT王子 更新时间:2023-10-29 07:56:54 27 4
gpt4 key购买 nike

我有一个显示不可编辑文本的 UITextView。我希望文本自动为用户解析链接、电话号码等,并让这些内容可点击。

不过,我不希望用户能够突出显示文本,因为我想覆盖那些长按和双击交互以执行不同的操作。

为了在 iOS7 中解析链接,需要为 UITextView 打开 Selectable 开关,但 Selectable 还启用高亮显示,这是我不想要的。

我尝试覆盖 LongPress 手势以防止突出显示,但这似乎也禁用了对链接的普通点击...

for (UIGestureRecognizer *recognizer in cell.messageTextView.gestureRecognizers) {
if ([recognizer isKindOfClass:[UILongPressGestureRecognizer class]]){
recognizer.enabled = NO;
}
if ([recognizer isKindOfClass:[UITapGestureRecognizer class]]){
recognizer.enabled = YES;
}
}

那里有很多类似的话题,但似乎没有一个能解决链接已启用、文本无法突出显示这一特定问题。

最佳答案

我正在处理完全相同的问题,我能做的最好的事情就是通过将以下内容添加到 UITextView 的委托(delegate)来立即清除选择:

- (void)textViewDidChangeSelection:(UITextView *)textView {
if(!NSEqualRanges(textView.selectedRange, NSMakeRange(0, 0))) {
textView.selectedRange = NSMakeRange(0, 0);
}
}

注意检查以防止递归。这几乎解决了这个问题,因为只有选择被禁用——链接仍然有效。

另一个切线问题是 TextView 仍将成为第一响应者,您可以通过在设置选定范围后设置所需的第一响应者来解决此问题。

注意:唯一剩下的视觉异常是按住会调出放大镜。

关于ios - 带有可点击链接但没有文本突出显示的 UITextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23690164/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com