【问题标题】:Display NSString as HTML text - show string as a link将 NSString 显示为 HTML 文本 - 将字符串显示为链接
【发布时间】:2017-10-06 18:09:39
【问题描述】:

我有一个字符串,其中可能有电话号码、邮件地址、网址、电子邮件地址,也可能是一些纯文本。例如:我的电话号码是 8009000300。

首先,如何将这个字符串显示为 HTML 文本?

其次,如果显示为 HTML 文本,8009000300(或网址或邮件地址或电子邮件地址)会/可以显示为链接吗?我将采用这种方法,因为 NIAttributedLabel 对我不起作用。

注意:电话号码(或其他特殊字符串)可能位于完整字符串之间或字符串的开头/结尾。

【问题讨论】:

  • 您可以使用 UITextView 来显示文本。将 dataDetectorTypes 属性设置为 UIDataDetectorTypeLink。
  • 我的字符串是请联系 abc,电话 800.493.0016,选项 #3 以获得进一步帮助。代码是: UITextView *myTextView = [[UITextView alloc] init]; myTextView.frame = 矩形; myTextView.backgroundColor = [UIColor clearColor]; myTextView.text = @"请致电 800.493.0016 联系 abc,选项 #3 以获得进一步帮助。"; myTextView.dataDetectorTypes = UIDataDetectorTypePhoneNumber; [cell.contentView addSubview:myTextView]; [myTextView sizeToFit];
  • 但没有显示 800.493.0016 的链接
  • 太棒了。 Mudit 请发布您的答案,以便将来有用,我也可以接受。再次感谢。
  • 还有一件事。什么是文字是地址(物理地址)。

标签: iphone html nsstring


【解决方案1】:

您可以使用UITextView来显示文本,并根据您的要求将dataDetectorTypes属性设置为UIDataDetectorTypeLink,UIDataDetectorTypePhoneNumber

【讨论】:

    【解决方案2】:

    您可以使用 CoreText,或尝试OHAttributedLabelTTTAttributedLabel

    【讨论】:

    • 我也试过了。但这并非全部有用。它不提供链接操作。它只能打开网址,但不能执行拨打电话或打开谷歌地图等操作。
    • 您可以通过打开网址tel:8009000300拨打电话。
    • http://maps.google.com/maps?q=cupertino直接,查看文档:Map Links
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 2017-04-12
    • 1970-01-01
    • 2015-02-26
    • 2021-11-04
    • 2020-12-04
    • 2013-05-19
    相关资源
    最近更新 更多