我正在开发一个需要使用不同的rootViewControllers启动的iOS应用程序(例如,如果用户已经注册,或者在本地通知之后启动),并且这些viewControllers位于不同的故事板中。我认为一种方法是在部署信息中将Main接口字段留空,并手动配置rootViewController。
我在我的应用程序委托类中设置了rootViewController:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
IDOptionsViewController *mainViewController = [storyboard instantiateViewControllerWithIdentifier:@"options"];
self.window.rootViewController = mainViewController;
[self.window makeKeyAndVisible];
return YES;
}
当我启动应用程序时,会出现rootViewController,但它不响应任何用户交互(我测试了viewController,它在其他地方工作正常)。
我是Objective-C和iOS的新手,所以我不确定我是否正确理解故事板。
我正在使用iOS SDK 7.1,Xcode 5。
感谢您的回答。
答案 0 :(得分:1)
我遇到了同样的问题。在可能的情况下,根UIViewController
调用
[[UIApplication sharedApplication] beginIgnoringInteractionEvents]
因此,请确保通过调用[UIApplication sharedApplication].isIgnoringInteractionEvents]
启用用户互动事件。要启用用户互动事件,请致电[[UIApplication sharedApplication] endIgnoringInteractionEvents]
。