iOS扩展UIWindow是否禁用了根视图控制器?

时间:2013-06-30 13:53:10

标签: iphone ios ipad uiwindow

我扩展了UIWindow,这使我的登陆视图控制器(rootViewController)被禁用,即我无法与之交互。

EBaseUIWindow是将UIWindow作为超类的类。当我用EBaseUIWindow替换UIWindow时,我可以与rootViewController进行互动。

原因是什么?

    self.window = [[EBaseUIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] ;
    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] ;
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;

请建议?

在我的代码中进行以下编辑后工作:

我在EBaseUIWindow中覆盖了sendEvent方法。当我添加以下行时,它开始工作。

[super sendEvent:event];

感谢Daij-Djan的线索。

1 个答案:

答案 0 :(得分:1)

没有看到你的自定义类的任何代码它有点......猜测..可能有很多原因。

BUT

在某种程度上它归结为'你的窗口类(或它添加的视图或识别器)在它们到达rootViewController视图之前消耗事件。

识别您处理触摸的位置(一般情况下的事件)并将其注释掉以查看导致问题的原因