【发布时间】:2014-11-11 12:59:32
【问题描述】:
我有一个自定义 URL 方案,我想打开某个 ViewController,当我转到此 URL 时它不是根。我已经能够做到这一点,剩下的就是将这个ViewController 从AppDelegate 推入navigationController,在那里我像这样处理我的URL:
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
if ([[url scheme] isEqualToString:@"njoftime"]) {
NSDictionary *getListingResponse = [[NSDictionary alloc]init];
getListingResponse = [Utils getListing:[url query]];;
if ([[getListingResponse objectForKey:@"status"] isEqualToString:@"success"]) {
ListingViewController *listingView = [[ListingViewController alloc]init];
[self.window.rootViewController.navigationController pushViewController:listingView animated:YES];
return YES;
}
但它只启动我的应用程序而不是我想要启动的ListingViewController。
知道我该怎么做吗?
【问题讨论】:
-
你有什么错误吗?
-
没什么,应用只是在其根视图控制器上正常启动
-
您是否尝试过设置断点并检查它是否进入第二个 if 语句?
-
据我所见,您说一切都是以编程方式创建的,如果没有情节提要,您在哪里设置 rootViewController?
-
有 1 个故事板只有 rootViewController,其他一切都是以编程方式创建的。不,我只是发现它确实启动了活动,但晚了 10-15 秒。 @jomafer 是的,它确实输入了我那里有 NSLogs,但是我在这里发布时删除了它们
标签: ios uiviewcontroller appdelegate