gpt4 book ai didi

ios - 如何在 UITextView URL 中允许表情符号

转载 作者:行者123 更新时间:2023-11-28 06:33:25 25 4
gpt4 key购买 nike

我有一个属性字符串,用于检测主题标签并为 hash:[word] 的每个主题标签添加一个链接属性。然后,此字符串显示在 UITextView 中,并被检测为链接。这适用于具有普通字符的单词,但是,如果有表情符号,它会在尝试按链接时崩溃。通常它会调用 textView(_:shouldInteractWith:in:),但它甚至在调用之前就崩溃了。

不幸的是,Xcode 没有提供代码崩溃的任何特定行,但是堆栈轨迹如下所示:

#0  0x000000010ff4ad55 in static DateComponents._unconditionallyBridgeFromObjectiveC
(NSDateComponents?) -> DateComponents ()
#1 0x000000010c2214df in @objc MyTableTextCell.textView(UITextView, shouldInteractWith :
URL, in : _NSRange) -> Bool ()
#2 0x0000000110d88282 in -[_UITextViewInteractableLink allowInteraction:] ()
#3 0x0000000110d86f22 in -[_UITextViewInteractableItem handleTap] ()
#4 0x0000000110d86df4 in -[UITextView(LinkInteraction)
validateInteractionWithLinkAtPoint:] ()
#5 0x0000000110749f8b in -[UITextInteractionAssistant(UITextInteractionAssistant_Internal)
linkTapRecognizer:] ()
#6 0x0000000110733289 in -[UIGestureRecognizerTarget _sendActionWithGestureRecognizer:] ()

如何才能使表情符号主题标签上的点击生效?我试过百分比转义它,但它似乎没有做任何事情。

最佳答案

这有点旧,但是如果 URL tap 处理代码获取了 URL 编码不允许的字符(例如表情符号),它将在您提供的位置崩溃。因此,例如,当使用 NSLinkAttributedName 手动创建 NSAttributedString 时,请确保该值是 URLEncoded。

当 UITextView 进行链接检测时,它已经为您正确地完成了。

关于ios - 如何在 UITextView URL 中允许表情符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39680521/

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