所以,我的应用程序中有这个视图层次结构:
UIWindow
UIViewController
UITabBarController -> 4 UINavigationController
我知道UITabBarController被设计成应用程序中最顶层的视图,但在我的情况下这是不可能的。但是,我遇到的问题是~20个较低像素对触摸没有响应,因此UITabBarController不会正确触发标签更改。这发生在实际设备(iPad和iPhone 3G)上。
我的问题是,有什么明显的理由可以解释这种情况吗?我将这样的UITabBarController作为子视图添加到我的UIViewController视图中:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.view addSubview:controller.view]; // Controller is the UITabBarController
}
我没有设置UITabBarController的委托。
答案 0 :(得分:0)
UITabBarController永远不应该嵌入到UIViewController中,因为它来自UIViewController,它已经是一个;只是有额外的才能。目前,根UIViewController正在拦截您的所有触摸事件。
使UITabBarController的视图成为app delegate中UIWindow的子视图。