Cocoa touch UITABBARC控制器对触摸无响应

Cocoa touch UITABBARC控制器对触摸无响应,cocoa-touch,ios,uitabbarcontroller,Cocoa Touch,Ios,Uitabbarcontroller,因此,我的应用程序中有以下视图层次结构: UIWindow UIViewController UITabBarController -> 4 UINavigationController 我知道UITabBarController被设计成应用程序中最顶级的视图,但是在我的情况下这是不可能的。然而,我遇到的问题是,低像素中约20个对触摸没有响应,因此UITabBarController无法正确触发选项卡更改。这种情况发生在iPad和iPhone 3G的实际设备上 我的问题是,为什么会发生这

因此,我的应用程序中有以下视图层次结构:

UIWindow
UIViewController
UITabBarController -> 4 UINavigationController
我知道UITabBarController被设计成应用程序中最顶级的视图,但是在我的情况下这是不可能的。然而,我遇到的问题是,低像素中约20个对触摸没有响应,因此UITabBarController无法正确触发选项卡更改。这种情况发生在iPad和iPhone 3G的实际设备上

我的问题是,为什么会发生这种情况,有什么明显的原因吗?我向UIViewController视图中添加了如下UIAbbarController作为子视图:

- (void)viewDidLoad 
{
    [super viewDidLoad];
    [self.view addSubview:controller.view]; // Controller is the UITabBarController
}

我没有设置UITabBarController的委托。

UITabBarController不应该嵌入UIViewController中,因为它从UIViewController下降时已经是一个;只是有额外的天赋。当前根UIViewController正在拦截您的所有触摸事件


在应用程序委派中将UIAbbarController的视图设置为UIWindow的子视图。

是的,正如我所说,我知道这一点,但这确实是不可能的。但我可以向您保证UIViewController不会截获触摸。这是不可能的,因为我需要在运行时根据UIViewController的方向更改其内容。更糟糕的是,我希望这个漂亮的动画能够显示旋转变化,然后在动画的后半部分中改变内容。这在UIWindow中是不可能的。除非在设备水平旋转时切换到其他视图,否则我不明白为什么不能使用UIAbbarController处理旋转,因为它继承了UIViewController的所有功能。@CrystalSkull就像我写的,我在旋转期间切换整个UI。有一种情况是添加了另一个普通UIView子类,两种情况是添加了另一个UIViewController子类view。这不是真的不可能,但真的很脏,也不是我想走的路。好吧,我做的有点不同,没有两个阶段的动画,三个子类和一些脏的anmiation东西散布在四个文件中。但是,嘿,至少它起作用了^^