使用Monotouch在UILabel内显示可点击链接的最佳方式

时间:2013-03-15 00:36:24

标签: url xamarin.ios uilabel hyperlink detection

使用Objective-C语言进行开发时,我能够使用其中一种解决方案(两者都不适用于Monotouch):

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

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

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

2 个答案:

答案 0 :(得分:2)

我已经开放了我的用于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 ());
    }
}

答案 1 :(得分:1)

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

制作您自己的UILabel的MonoTouch原生子类,社区将视您的工作而定。 TTTAttributedLabel和类NSMutableAttributedStringCTStringAttributesCTParagraphStyleSettings的来源可以为您提供帮助。