我有一个导航控制器,我在导航栏中添加了UIButton
,但它有问题。即使我点击按钮外的方式,它仍然会调用它的动作。
这是我创建和添加按钮的方式:
UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[backBtn setImage:[UIImage imageNamed:@"btn_back.png"] forState:UIControlStateNormal];
[backBtn addTarget:self action:@selector(backPressed:) forControlEvents:UIControlEventTouchUpInside];
[backBtn setFrame:CGRectMake(0, 0, 70, 30)];
//[backBtn setFrame:CGRectMake(20, 7, 70, 30)];
self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:backBtn] autorelease];
这是按钮的点击范围:
答案 0 :(得分:1)
默认情况下,左键和右键的大小。因此我们无法使用左右按钮。因为它的左右按钮区域。如果您想要自定义按钮,那么它只显示您给定的帧,但它将在左键的整个区域中工作。
答案 1 :(得分:0)
试试这个。
UIBarButtonItem *customItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"btn_back.png"] style:UIBarButtonItemStylePlain target:self action:@selector(Back:)];
[self.navigationController setHidesBackButton:YES];
[self.navigationItem setLeftBarButtonItem: customItem];