项目需要使用到自定义导航栏返回按钮,这里做一个笔记。}
- (void)viewDidLoad {
[super viewDidLoad];
[self.navigationItem setHidesBackButton:YES];
self.navigationController.navigationBar.barTintColor = kProjectColorBlue;
[self.navigationController.navigationBar setTitleTextAttributes:
@{NSFontAttributeName:[UIFont systemFontOfSize:19],
NSForegroundColorAttributeName:[UIColor whiteColor]}];
UIButton *leftButton = [UIButton buttonWithType:UIButtonTypeCustom];
leftButton.frame = CGRectMake(0, 0, 30, 30);
[leftButton setImage:[UIImage imageNamed:@"ico_back_unchecked.png"] forState:UIControlStateNormal];
[leftButton setImage:[UIImage imageNamed:@"ico_back_checked.png"] forState:UIControlStateSelected];
[leftButton addTarget:self action:@selector(backAction:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *left = [[UIBarButtonItem alloc]initWithCustomView:leftButton];
UIBarButtonItem *left1 = [[UIBarButtonItem alloc]initWithCustomView:[UIButton buttonWithType:UIButtonTypeCustom]];
self.navigationItem.leftBarButtonItems = [NSArray arrayWithObjects:left,left1,nil];
}
在这里自定义返回按钮的时候,一开始只有一个uibarbuttonitem,结果导致点击按钮到标题之间的位置也会响应到按钮的事件,这时候只需要多添加一个按钮用于占位即可。