【发布时间】:2015-05-28 11:18:50
【问题描述】:
我已将第三方库导入到我的项目中。在我的 AppDelegate 中,我创建了一个 navigationController 并将 rootViewController 设置为我现有的项目主视图。然后我引用库 ViewController 并将其呈现在导航堆栈上(我认为)。它会显示,但是当我尝试关闭并返回到我的原始项目视图时它不起作用。我的代码:
AppDelegate.m
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
appbarViewController = [[AppBarViewController alloc] init];
self.navigation = [[UINavigationController alloc]initWithRootViewController:appbarViewController];
self.window.rootViewController = self.navigation;
[self.navigation setNavigationBarHidden:NO];
[self.window addSubview:self.navigation.view];
[self.window makeKeyAndVisible];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
}
return YES;
}
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if([[url host] isEqualToString:@"session"]){
if([[url path] isEqualToString:@"/login"])
{
ACSViewController *acs = [[ACSViewController alloc] init];
[self.window.rootViewController presentViewController:acs animated:NO completion:nil];
}
}
return YES;
}
}
ACSViewController 不是库的一部分,我创建并从库类中调用。
libraryViewController.m
-(void)backButtonPressed
{
[self dismissViewControllerAnimated:YES completion:nil];
}
任何想法为什么视图不会关闭?它会以动画方式消失,但随后会以相同的当前视图返回。
【问题讨论】:
-
你是push视图还是使用presentViewController?
-
显示presentViewcontroller的编码。
-
现在,对不起,我在同一行。我现在已经移动了它,所以可以看到我是如何呈现视图的
-
就在上面的代码中,这一行[self.window.rootViewController presentViewController:acs animated:NO completion:nil];
-
严重的是没有选项。因为您直接从openURL编写编码。首先您需要仅从RootViewController而不是在appDelegate.M中转到另一个视图
标签: ios objective-c xcode uinavigationcontroller cocoapods