应该与 URL 交互,将文本视图颜色更改为蓝色和可点击
Should Interact With URL Changing Text View Color To Blue and Clickable
我有一个 table 帖子视图,所有帖子的正文中都包含 URL,每当我通过以下方式与初始 URL 互动时:
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL*)URL inRange:(NSRange)characterRange
{
//present webview here
return NO;
}
在我关闭显示 web 视图的模式视图控制器后,文本视图的整个文本变成蓝色并且像 URL 一样可以点击。我调整了 setTextColor: 的 UITextView 实现,但无济于事,因为文本颜色似乎并不是唯一的问题,因为所有文本都变得可点击(如果有人知道被调用的方法,那将大大也有帮助,因为我可以调整它的实现)。我不知道会发生什么,因为它不是我这边的显式方法调用,它可能是 UIKit 错误,但我真的很喜欢第三方的观点。
所以几天后我终于想通了,解决办法就是使用[myTextView setAttributedString: myAttributedString]
而不是[myTextView setText: myString]
。我猜测自动转换为蓝色和可点击的文本是 UIKit 中的一个错误,因为我无法想象为什么这会是所需的功能。无论如何,我希望这可以帮助遇到此问题的其他人。
我有一个 table 帖子视图,所有帖子的正文中都包含 URL,每当我通过以下方式与初始 URL 互动时:
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL*)URL inRange:(NSRange)characterRange
{
//present webview here
return NO;
}
在我关闭显示 web 视图的模式视图控制器后,文本视图的整个文本变成蓝色并且像 URL 一样可以点击。我调整了 setTextColor: 的 UITextView 实现,但无济于事,因为文本颜色似乎并不是唯一的问题,因为所有文本都变得可点击(如果有人知道被调用的方法,那将大大也有帮助,因为我可以调整它的实现)。我不知道会发生什么,因为它不是我这边的显式方法调用,它可能是 UIKit 错误,但我真的很喜欢第三方的观点。
所以几天后我终于想通了,解决办法就是使用[myTextView setAttributedString: myAttributedString]
而不是[myTextView setText: myString]
。我猜测自动转换为蓝色和可点击的文本是 UIKit 中的一个错误,因为我无法想象为什么这会是所需的功能。无论如何,我希望这可以帮助遇到此问题的其他人。