我在我的应用程序上使用TabBarController,在其中一个主视图(aViewController)中我推送另一个控制器(bViewController),并使用self.tabBarController.tabBar.hidden = YES隐藏TabBar;
bViewController在tabBar所在的同一个地方有一个按钮,它不会捕捉触摸事件。
我尝试将按钮放在bViewController的不同位置,而tabBar应该是的区域是唯一没有检测到触摸事件的地方。
我尝试在tabBarController之外使用bViewController,它工作正常。 任何帮助将不胜感激。
修改
当我按下aViewController上的按钮时,我打电话
self.tabBarController.tabBar.hidden=YES;
[self performSegueWithIdentifier:@"aViewToBView" sender:self];
aViewToBview是在故事板上声明的推送segue
答案 0 :(得分:2)
由于某种原因,您无法触摸标签栏下方的视图。
但是,如果隐藏标签栏然后向其添加子视图,则视图可以接收用户交互!
这对我有用:
// Create a button that is at the very bottom of the screen
CGFloat buttonHeight = 45.0f;
UIButton *finishButton = [[UIButton alloc] initWithFrame:CGRectMake(
0,
self.view.frame.size.height - self.tabBarController.tabBar.frame.size.height - buttonHeight,
self.view.frame.size.width,
buttonHeight)];
//...more initialization of the button...
//Here is our solution:
[self.tabBarController.view addSubview:finishButton];