gpt4 book ai didi

objective-c - 在 UILabel 中插入超链接

转载 作者:行者123 更新时间:2023-12-02 17:22:56 25 4
gpt4 key购买 nike

我收到来自 api 的文本形式的响应 我想扫描该文本中的“计划生育健康中心”一词,并在该词上插入一个超链接,该超链接重定向到 plannedparenthood.org/health-center 门户.

我的方法:

NSString *text = response.content;
text = [text stringByReplacingOccurrencesOfString:@"Planned Parenthood health center"
withString:@"<a href=\"http://www.plannedparenthood.org/health-center\">Planned Parenthood health center</a>"];

虽然文本上的链接正在被替换。它正在被替换为

<a href=\"http://www.plannedparenthood.org/health-center\">Planned Parenthood health center </a>

怎么了,为什么我在那里没有得到任何链接?我做错了什么我还将用户启用的交互设置为是

最佳答案

老实说,iOS 并没有很好地处理这个问题,可能是因为它打算让您使用更容易被用户点击的 UIButton。

要完成您想要的,您不能使用 UILabel - 您需要使用 UITextView 并设置其 attributedText 属性:

NSMutableAttributedString * attributedString = [[NSMutableAttributedString alloc] initWithString:@"Planned Parenthood health center"];
[attributedString addAttribute: NSLinkAttributeName value: @"http://www.plannedparenthood.com" range: NSMakeRange(0, str.length)];
textView.attributedText = attributedString;

请注意,UITextView 必须可选择但不可编辑。

如果您的属性字符串中有其他未链接的文本,则此方法有一些缺点。例如,如果您有“请选择此处 以便访问 Planned Parenthood 的网站”,其中“此处”是您想要链接的唯一文本部分。在这种情况下,如果您点击“此处”一词旁边文本中的任何其他位置,您会注意到它可以被用户选中并以蓝色高亮显示。

如果不需要使用 UITextView,那么您将需要使用一些自定义的东西,例如 TTTAttributedLabel

关于objective-c - 在 UILabel 中插入超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41203443/

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