2

我有一个名为 SplashViewController 的 UIViewController 实例。我将它添加到 AppDelegate 的主窗口中,如下所示:

splashViewController = [[SplashViewController alloc]initWithNibName:@"SplashScreen" bundle:[NSBundle mainBundle]];
splashViewController.view.frame = [UIScreen mainScreen].bounds;
[self.window setBackgroundColor:[UIColor blackColor]];
self.window.frame=[UIScreen mainScreen].bounds;
window.rootViewController = splashViewController;
[window makeKeyAndVisible];

我必须在 SplashViewController 中处理触摸事件,并且我需要在程序中将 userInteractionEnabled YES 和 NO 设为。出于某种原因,我下面的代码无效

[self.view setUserInteractionEnabled:NO]; // YES also have no effect

无论我在上面设置 YES 还是 NO,总是触发我的 touchesBegan 函数。SplashViewController 有一个带有图像和简单动画的图像视图。

我还能在哪里寻找为什么 userInteraction 没有按照我想要的方式行事?我尝试更改情节提要中设置的值,但没有帮助(无论如何程序设置应该覆盖情节提要设置,我猜)。

请提供任何帮助/指针...在此先感谢

4

1 回答 1

0

尝试设置:

self.view.userInteractionEnabled = YES;

viewWillAppear:在SplashViewController 对象的 " " 方法中。

另外,您是否将“ splashViewController”保存为应用程序委托中的实例变量?SplashViewController * splashViewController;您在 AppDelegate 的 .h 或 .m 文件中在哪里声明“ ”?如果它没有在您的应用程序委托中设置为 ivar,那么它可能会在您添加后立即发布。

于 2013-09-08T02:49:25.667 回答