我有一个名为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设置为以上,总是触发我的touchsBegan功能。 SplashViewController具有一个包含图像和简单动画的图像视图。
我还能在哪里寻找userInteraction为何不符合我想要的方式?我尝试更改情节提要中设置的值,但没有任何帮助(我想程序设置应覆盖情节提要设置)。
请任何帮助/指针...提前感谢
最佳答案
尝试设置:
self.view.userInteractionEnabled = YES;
在您的SplashViewController对象的“
viewWillAppear:
”方法中。另外,您是否将“
splashViewController
”保存为应用程序委托中的实例变量?您在AppDelegate的.h或.m文件中的哪里声明“SplashViewController * splashViewController;
”?如果未在应用程序委托中将其设置为ivar,则可能在添加后立即将其释放。关于ios - iOS setUserInteractionEnabled不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18679885/