Ios UILabel内的按钮/链接,用于切换到另一个ViewController

Ios UILabel内的按钮/链接,用于切换到另一个ViewController,ios,facebook,swift,uibutton,uilabel,Ios,Facebook,Swift,Uibutton,Uilabel,我想在我的iOS应用程序中显示一些Facebook帖子。我从GraphAPI中获取整个帖子作为JSON对象。很好用 因此,如果用户创建了一篇新文章并标记了该文章中的任何页面,那么用户id或页面id也包含在该JSON对象中,给出了文本中的偏移量和长度,应该链接到该页面。听起来很奇怪,让我举个例子: { "id": "135416986571191_709831435796407", "from": { "category": "Musician/band", "name

我想在我的iOS应用程序中显示一些Facebook帖子。我从GraphAPI中获取整个帖子作为JSON对象。很好用

因此,如果用户创建了一篇新文章并标记了该文章中的任何页面,那么用户id或页面id也包含在该JSON对象中,给出了文本中的偏移量和长度,应该链接到该页面。听起来很奇怪,让我举个例子:

{
  "id": "135416986571191_709831435796407", 
  "from": {
    "category": "Musician/band", 
    "name": "DANNIC", 
    "id": "135416986571191"
  }, 
  "to": {
    "data": [
      {
        "category": "Musician/band", 
        "name": "Tom & Jame", 
        "id": "423531801036780"
      }, 
      {
        "category": "Record label", 
        "name": "Revealed Recordings", 
        "id": "104563552952573"
      }
    ]
  }, 
  "message": "Wait For You (Tom & Jame Remix) is coming out in 2 days on Revealed Recordings!", 
  "message_tags": {
    "14": [
      {
        "id": "423531801036780", 
        "name": "Tom & Jame", 
        "type": "page", 
        "offset": 14, 
        "length": 10
      }
    ], 
    "59": [
      {
        "id": "104563552952573", 
        "name": "Revealed Recordings", 
        "type": "page", 
        "offset": 59, 
        "length": 19
      }
    ]
  }, 
  "picture": "https://fbcdn-vthumb-a.akamaihd.net/hvthumb-ak-xfa1/v/t15.0-10/10876067_709831642463053_709831435796407_64260_924_b.jpg?oh=49c825ff152d98de125820093b5cff05&oe=5551397E&__gda__=1431085295_7c41923cf64cc0946a39e85b705ee691", 
    ....
    ....
如您所见,有message_标记,它包含两个页面ID,名称、偏移量和长度。我想用UIButton或该页面的链接替换消息中的文本。我该怎么做

以下是该帖子在Facebook应用程序中的屏幕截图:

正如你所看到的,《汤姆与杰姆》是可点击的,除公开录音外,其余的都是普通文本。如果你点击“Tom&Jame”,它将切换到另一个显示它们页面的视图控制器。这正是我想在我的应用程序中看到的

我知道我可以使用NSAttributedText作为标签,并使用NSLinkAttributedName使文本可点击。但我不希望我的应用程序切换到safari并打开facebook页面,我希望留在我的应用程序中,切换到另一个UIViewController,显示该页面的信息等

即使我呆在应用程序内,我也可以使用应用程序的url方案来链接吗?或者我可以在标签内放置一个UIButton并在视图控制器内处理点击


最好的解决办法是什么?感谢您的帮助!:

我要做的是将文本放在UITextView中,并使用NSAttributedText。我将以一种稍后可以解析的方式构造URL,以便让UITextView呈现链接,但它不必是facebook上的真实URL

然后我将重写发送给UITextView委托的shouldInteractWithURL。在这里,我可以重新解析URL,检索数据,并加载后续的视图控制器


看看这里的参考::

如果你想使用列表,那么表视图可以发挥一定的作用,因为它有它的委托方法来选择表单元格中的特定项目,或者如果UI不是面向列表的,那么在这种情况下,你可以在UIButton中显示文本并添加一个操作。我有一个带有自定义单元格的表视图。单元格包含一个UILabel,其中包含几行“消息”。如果在那篇文章中链接了一个页面,我希望这个页面是可点击的。你到底是什么意思?我应该在UILabel中放置UIButton吗?您是否尝试过使用table Dod select row at index path的委托方法,而不是在自定义单元格中剪切单个组件?为什么不在委托方法中编写导航代码?或者你已经试过了?我想你不明白我的意思。让我编辑我的问题。编辑它,我希望你知道我现在想要什么。我已经实现了UITextView和委托方法,似乎有效。唯一的问题是:如果我将文本视图中的链接检测设置为true,它有时会使整个文本成为链接,而不仅仅是URL本身。如果我设置“textView.attributedText=…”,我的应用程序就会崩溃?好吧,听我说,在使用Swift时,Xcode中似乎有一个bug。现在好像工作了!