在uinavigation栏的左侧发出按钮问题

Ahs*_*san 3 objective-c uinavigationbar uibutton uibarbuttonitem ios

我在导航栏的左侧有一个按钮.我在该按钮附近也有一个UIButton.

现在,当我单击导航栏下方的按钮时,在许多情况下,单击nab栏上的按钮.

知道为什么会这样吗?有什么建议 ?

谢谢.

图像:如果单击红色按钮内的任何位置,导航栏的左上角按钮仍会被按下.

在此输入图像描述

导航栏按钮的代码:

UIButton *leftButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 25, 25)];
[leftButton setShowsTouchWhenHighlighted:NO];
[leftButton setImage:[UIImage imageNamed:@"deals.png"] forState:UIControlStateNormal];
[leftButton setImage:[UIImage imageNamed:@"deals_down.png"] forState:UIControlStateSelected];
[leftButton setImage:[UIImage imageNamed:@"deals_down.png"] forState:UIControlStateHighlighted];
[leftButton addTarget:self action:@selector(dealsButtonPressed:) forControlEvents:UIControlEventTouchDown || UIControlEventTouchUpInside];
self.navigationItem.leftBarButtonItem =  [[[UIBarButtonItem alloc] initWithCustomView:leftButton] autorelease];
[leftButton release];
Run Code Online (Sandbox Code Playgroud)

fbe*_*rdo 12

UINavigationButtons具有比它的视图更大的可点击区域,Apple以这种方式使其易于使用.如果你真的想让两个按钮彼此靠近,你必须继承UINavigationBar,更具体地说,覆盖触摸事件,获取触摸坐标并按照你认为合适的方式行动.更多信息在这里.