这就是我设置按钮导航栏的方式
UIButton *addEditButton = [UIButton buttonWithType:UIButtonTypeCustom];
[addEditButton setImage:[UIImage imageNamed:@"edit.png"] forState:UIControlStateNormal];
[addEditButton setFrame:CGRectMake(0, 0, 62, 31)]; used frame same as image
[addEditButton addTarget:self action:@selector(EditTable) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *addEdit = [[UIBarButtonItem alloc] initWithCustomView:addEditButton];
self.navigationItem.leftBarButtonItem =addEdit;
一切都很完美,但当我触摸它时,按钮会被按下。如何解决这个问题有任何办法,只有当我触摸它时它才会被按下
这是图片
答案 0 :(得分:1)
我认为您遇到此问题是因为您设置的图像比按钮的实际尺寸小。请将按钮尺寸缩小或提供更大的图像。
我希望这会对你有所帮助。
答案 1 :(得分:1)
答案 2 :(得分:0)
它似乎只是这样,我仍然想出了一个解决方案。
一个是你可以隐藏导航栏并确实使用工具栏。
其他是您可以在此之后添加另一个按钮并将其启用属性设置为FALSE。
我不知道这是否合适,但似乎至少满足了你的要求。
以下是代码:
UIButton *addEditButton = [UIButton buttonWithType:UIButtonTypeCustom];
[addEditButton setFrame:CGRectMake(0, 0, 62, 31)];
[addEditButton setImage:[UIImage imageNamed:@"edit.png"] forState:UIControlStateNormal];
[addEditButton addTarget:self action:@selector(EditTable) forControlEvents:UIControlEventTouchUpInside];
UIButton *addEditButton1 = [UIButton buttonWithType:UIButtonTypeCustom];
[addEditButton1 setFrame:CGRectMake(63, 0, 30, 31)];
UIBarButtonItem *addEdit = [[UIBarButtonItem alloc] initWithCustomView:addEditButton];
UIBarButtonItem *addEdit1 = [[UIBarButtonItem alloc] initWithCustomView:addEditButton1];
addEdit1.enabled = FALSE;
NSMutableArray *buttonArray=[[NSMutableArray alloc]initWithCapacity:2];
[buttonArray addObject:addEdit];
[buttonArray addObject:addEdit1];
self.navigationItem.leftBarButtonItems =buttonArray;