UIBarButtonItem的点击区域太大

DEI*_*iMs 4 iphone uibarbuttonitem

我知道有些人已经提出了这个问题,但到目前为止,答案并不是真正具体的.

显然苹果已经使NavigationBar的点击区域比实际大,但我不认为它应该那么大.

在我的应用程序中,NavBar下方有一个TableView,你可以一直点击第一个单元格的一半来触发rightBarButtonItem的事件.按钮的实例如下:

    UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editTable)];
 [[self navigationItem] setRightBarButtonItem:editButton];
Run Code Online (Sandbox Code Playgroud)

"self"是NavigationController的根ViewController.

你可以想象,这是一个问题,因为单元格可以选择推送另一个ViewController.

我设法通过使细胞的高度更大来解决问题,但我宁愿让它们处于常规尺寸.

我确信我不是唯一有这种情况的人.提前致谢.

ios*_*per 8

UIButton *menuButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
[menuButton addTarget:self action:@selector(revealMenu:) forControlEvents:UIControlEventTouchUpInside];
[menuButton setImage:[UIImage imageNamed:@"menuIcon"] forState:UIControlStateNormal];
UIView *menuButtonContainer = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
[menuButtonContainer addSubview:menuButton];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:menuButtonContainer];
Run Code Online (Sandbox Code Playgroud)

这完全适合我....

  • 对我不起作用:仍然可以通过在NavigationBar外部单击来激活按钮. (3认同)