我正在尝试创建一个可以包含可单击文本的对象。
例如:我向用户显示文本:"请在接受注册前核实条款和条件。"
我只想将"条款和条件"文本显示为链接。案文将用蓝色下划线。
当用户单击文本时,我希望他们导航到我的条款和条件视图控制器页面。因此,链接是应用程序的内部链接,而不是外部网页。
问题
- 如何在仅使特定文本可链接的情况下显示文本?
- 如何通过用户单击链接的文本"续集"到视图控制器页面?
您可以使用
TTTAttributedLabel执行此操作。 从自述文件中:
除了支持富文本外,TTTAttributedLabel 还允许您自动检测 URL、地址、电话号码和日期的链接,或允许您嵌入自己的链接。
label.dataDetectorTypes = UIDataDetectorTypeAll; // Automatically detect links when the label text is subsequently changed label.delegate = self; // Delegate methods are called when the user taps on a link (see `TTTAttributedLabelDelegate` protocol) label.text = @"Fork me on GitHub! (http://github.com/mattt/TTTAttributedLabel/)"; // Repository URL will be automatically detected and linked NSRange range = [label.text rangeOfString:@"me"]; [label addLinkToURL:[NSURL URLWithString:@"http://github.com/mattt/"] withRange:range]; // Embedding a custom link in a substring