今天發(fā)現(xiàn)如果直接在UINavigationItem
里面添加一個(gè)自定義button的時(shí)候,這個(gè)button的有效點(diǎn)擊范圍將會(huì)很大峻堰,接近UINavigationBar
的titleView
讹开。
有時(shí)候我們不想要這種特性【杳可以這樣做:
先將你的UIButton
添加到一個(gè)同樣大小的UIView
中旦万,然后再將這個(gè)UIView
添加到leftBarButtonItem
里。
代碼如下:
UIImage *backImg = [UIImage imageNamed:imageName];
UIButton *backBtn = [[UIButton alloc] initWithFrame:CGRectMake(0.f, 0.f, backImg.size.width, backImg.size.height)];
[backBtn setImage:backImg forState:UIControlStateNormal];
UIView *backBtnView = [[UIView alloc] initWithFrame:backBtn.bounds];
backBtnView.bounds = CGRectOffset(backBtnView.bounds, -6, 0);
[backBtnView addSubview:backBtn];
UIBarButtonItem *backBarBtn = [[UIBarButtonItem alloc] initWithCustomView:backBtnView];
self.navigationItem.leftBarButtonItem = backBarBtn;