UIButton默认情况下单击右侧栏按钮项目单击导航栏

时间:2012-04-02 23:47:23

标签: iphone objective-c ios uibutton uibarbuttonitem

UIButton上的UIView正好位于右侧栏按钮项下方。

大多数情况下,当我点按UIButton时,会点击右边的按钮项目。

右侧栏按钮项的高度设置正确,不超过导航栏的高度。

在这种情况下需要做些什么?

1 个答案:

答案 0 :(得分:0)

编辑:我重新阅读了您的问题。导航栏中的按钮比设计导航栏具有更大的命中区域。不要将按钮放在导航栏附近;正如您所经历的那样,它们使用户难以点击其中一个。

确保包含按钮的视图足够大以完全包含它。如果视图中的某个按钮没有剪切其子视图,则可以查看按钮,但无法与其进行交互。

UIView *containerView = [[UIView alloc] initWithFrame:CGRectZero];
UIButton *button = ...;//whatever button, added target and everything
[containerView addSubview:button];
[contaierView setClipsToBounds:NO]; //NO is the default, anyway

在此示例中,该按钮在containerView中可见,但其操作永远不会被调用。尝试仔细检查您的观点,如下所示:

[containerView setBackgroundColor:[UIColor greenColor]];