我正在寻找一种方法,当用户在标签中选择特定单词时,在 View Controller 中动态显示弹出窗口。
例如
标签文本是从数据库中提取的,因此是根据用户正在查看的内容动态添加的,我希望使用 Swift 中的 URL 方案来根据用户选择的内容显示正确的弹出窗口,但是当我添加时以下应用程序委托(delegate)中的弹出窗口显示在单独的 View Controller 中,而不是作为弹出 View Controller 。
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
当弹出窗口关闭时,后面的屏幕现在是空白的,而不是显示原始 View Controller 。
所以我的问题是,这是否是实现此目标的最佳方法,因为我不确定在应用程序中使用 URL 链接链接到同一应用程序的其他部分的最佳实践,或者是否还有其他我缺少的方法。
最佳答案
我想我现在已经解决了这个问题,使用以下方法;
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)
关于swift - Swift 中标签词选择的动态弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40302101/