在我的模拟器上,UITabBar似乎对可见条上方约10个像素的鼠标点击作出反应。在手机上,很难分辨出发生了什么,但我的经验是,如果我在按钮栏上方放置一个按钮,用户将经常瞄准按钮,但最终点击标签栏,这可能是非常困惑和令人不安。
为了避免这些问题,我想缩小标签栏的活动区域。
这可能吗?
编辑:标签栏由标签栏控制器控制。
答案 0 :(得分:2)
通常,您不应将控件置于UITabBar
之上。当用户意图按下标签栏时,用户很可能会意外地点击这些控件,反之亦然。
Apple的一些标准UI元素的触摸目标大于屏幕上的可见控件。例如,当你在按钮外面几个像素时,UINavigationController
中的“后退”按钮实际上可以被控制。
这里的想法是,如果客户在10px之内,客户可能意味着达到UITabBar
。
如果您确实需要在屏幕底部设置控件,请考虑在用户查看此特定UITabBar
时隐藏UINavigationController
。您可以通过在呈现控制器时执行以下操作来执行此操作:
MyViewController *viewControllerWithControlsOnBottom = [[MyViewController alloc] init];
viewControllerWithControlsOnBottom.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:viewControllerWithControlsOnBottom animated:YES];