在didFinishLaunchingWithOptions中设置时,RootViewController不响应

时间:2014-08-04 09:05:40

标签: ios objective-c

我正在开发一个需要使用不同的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。

感谢您的回答。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。在可能的情况下,根UIViewController调用

[[UIApplication sharedApplication] beginIgnoringInteractionEvents]

因此,请确保通过调用[UIApplication sharedApplication].isIgnoringInteractionEvents]启用用户互动事件。要启用用户互动事件,请致电[[UIApplication sharedApplication] endIgnoringInteractionEvents]

相关问题