我正在为我的应用实施深层链接,并且无法正确实例化我的应用。对于我的应用程序链接,它正在打开博客文章的详细信息页面,因此我将其实例化为:
var controller = PostDetailController()
问题是底部没有导航标题或标签栏。如何从一开始就正确启动我的应用,然后加载我的PostDetailController
?
下面是我的故事板的样子,我正在尝试直接链接到我的“Post Detail Controller”,但是后面有所有以前的控制器,我该怎么做?
答案 0 :(得分:4)
有很多不同的方法可以实现这一点。假设您是从app delegate的openURL:
方法开始的,这里有一种方法的高级视图。
openURL:
方法中,从url
中解析出所需的参数,并将其存储在全局变量中。UITabBarController
进行子类化并创建一个处理深层链接的函数。此函数应评估app委托中的全局变量集,并确定需要显示哪个Tab和视图。 例如:
// Check for deep link global var
if (myGlobalVar==1){
//Instantiate the destination view (the view you want the deep link to show)
DetailViewController *detailViewController = [storyboard instantiateViewControllerWithIdentifier:@"myDetailView"];
//set any vars need in the destination view
//Push the detail View to stack of the to be seleceted Tab
[[self.viewControllers objectAtIndex:myTABINDEX] pushViewController:detailViewController animated:NO];
//select the tab to the destination view
[self setSelectedIndex:myTABINDEX];
}