2010-07-30 70 views
1

在我的模拟器上,UITabBar似乎对可见条形上方约10个像素的鼠标点击作出反应。在电话中,很难说出发生了什么,但我的经验是,如果我将一个按钮正对着标签栏,用户会经常瞄准按钮,但最终敲击标签栏,这可能是非常混乱和令人不安。iPhone - UITabBar的活动区域

为了避免这些问题,我想缩小标签栏的活动区域。

这可能吗?

编辑:选项卡栏正在由选项卡栏控制器控制。

+0

您是否曾经得到此问题的答案?我现在正在遇到一模一样的问题。我也看到其他应用程序也是这样。 – vargonian 2011-02-06 08:20:24

+0

不,从来没有 - 我结束了其他UI元素远离标签栏 – 2011-02-06 19:32:44

回答

2

一般而言,您不应将控件放置在UITabBar之上。当用户意图按下标签栏时,用户很可能会意外点击这些控件,反之亦然。

Apple的几个标准UI元素的触摸目标大于屏幕上的可见控件。例如,当您在按钮之外几个像素时,UINavigationController中的“后退”按钮实际上可以被控制。

这里的想法是,如果客户在10px以内,可能意味着要打UITabBar

如果您确实需要在屏幕底部有控件,请考虑在用户查看此特定UINavigationController时隐藏UITabBar。当您提供控制器时,您可以通过执行以下操作来完成此操作:

MyViewController *viewControllerWithControlsOnBottom = [[MyViewController alloc] init]; 
viewControllerWithControlsOnBottom.hidesBottomBarWhenPushed = YES; 
[self.navigationController pushViewController:viewControllerWithControlsOnBottom animated:YES];