【问题标题】:Best way to display clickable links inside UILabel using Monotouch使用 Monotouch 在 UILabel 中显示可点击链接的最佳方式
【发布时间】:2013-03-03 14:19:32
【问题描述】:

在使用 Objective-C 语言进行开发时,我能够使用以下解决方案之一(这两种解决方案都不适用于 Monotouch):

在研究一些信息时,我可以在 TweetStation 应用程序中找到 Miguel 的实现:

但当时,他写了一个小解析器来检测链接。 由于我没有为 Monotouch 找到任何特殊的 UILabel 实现,我想向您了解:

使用 Monotouch 在 UITableViewCell 的 UILabel 文本中显示可点击链接的最佳方式是什么?

【问题讨论】:

    标签: url xamarin.ios uilabel hyperlink detection


    【解决方案1】:

    我已经为 MonoTouch 开源了我的 TTTAttributedLabel 绑定,您可以使用它来获取标签中的链接。

    例子:

    TTTAttributedLabel label = new TTTAttributedLabel ();
    label.Text = new NSString ("I love Tink");
    label.AddLinkToURL (new NSUrl ("http://tinkapp.com/"), new NSRange (7, 4));
    label.Delegate = new LabelDelegate ();
    
    ...
    
    class LabelDelegate : TTTAttributedLabelDelegate {
        public override void DidSelectLinkWithURL (TTTAttributedLabel label, NSUrl url)
        {
            Console.WriteLine ("Clicked URL: {0}", url.ToString ());
        }
    }
    

    【讨论】:

      【解决方案2】:

      在我的项目中,我已经实现了这样的控制,但由于 NDA,不可能将其作为开源发布。

      创建您自己的 UILabel 的 MonoTouch 原生子类,社区会认可您的工作。 TTTAttributedLabel 和类 NSMutableAttributedString、CTStringAttributes、CTParagraphStyleSettings 的来源将为您提供帮助。

      【讨论】:

      • 感谢马克西姆的回答。在 Miguel 的实现之后,我最终创建了自己的 UIAttributedLabel。我这样做是因为我的截止日期很短,所以我会一直打开这个问题,直到按照您的提示创建更好的解决方案。
      • 嗨@georgepiva,你能给我提供你自己的UIAttributedLabel代码吗?
      猜你喜欢
      • 1970-01-01
      • 2011-07-17
      • 2013-11-20
      • 2010-11-18
      • 2012-11-26
      • 1970-01-01
      • 2014-09-14
      相关资源
      最近更新 更多