标签词选择中的Swift动态弹出窗口

时间:2016-10-28 09:28:53

标签: swift uiviewcontroller popup appdelegate deep-linking

我正在寻找一种方法,当用户选择标签中的特定单词时,在视图控制器中动态显示弹出窗口。

例如

点击here获取链接,点击here获取其他链接

标签文本是从数据库中提取的,因此根据用户正在查看的内容动态添加标签文本,我希望使用Swift中的URL方案根据用户选择的内容显示正确的弹出窗口,但是当我添加时应用程序中的以下内容将弹出窗口显示在单独的视图控制器中,而不是弹出视图控制器。

    let storyboard = UIStoryboard(name: "Main", bundle: nil)

    let navVC = storyboard.instantiateViewControllerWithIdentifier("glossaryPopupID") as! UIViewController

    self.window?.rootViewController?.presentViewController(navVC, animated: true, completion: nil)
    return true

当弹出窗口关闭时,后面的屏幕现在是空白而不是显示原始视图控制器。

所以我的问题是,这是否是实现这一目标的最佳方式,因为我不确定在应用程序中使用URL链接链接到同一应用程序的其他部分的最佳实践,或者是否有其他方式我缺少。

1 个答案:

答案 0 :(得分:0)

想想我现在已经解决了这个问题,使用以下内容;

    let storyboard = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("test") as! ViewController
    let popOverVC = UIStoryboard(name:"Main", bundle: nil).instantiateViewControllerWithIdentifier("sbPopUpID") as! PopUpViewController
    storyboard.addChildViewController(popOverVC)
    popOverVC.view.frame = storyboard.view.frame
    storyboard.view.addSubview(popOverVC.view)
    popOverVC.didMoveToParentViewController(storyboard)
    self.window?.rootViewController?.presentViewController(storyboard, animated: true, completion: nil)