Skip to content

Instantly share code, notes, and snippets.

@soupsueapple
Created April 29, 2015 07:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save soupsueapple/397ddfe571c9dcd758e6 to your computer and use it in GitHub Desktop.
Save soupsueapple/397ddfe571c9dcd758e6 to your computer and use it in GitHub Desktop.
iOS7 + customBackBarButton
- (void)addCustomBackBarButton{
UIImage *image = [UIImage imageNamed:@"back.png"];
UIButton *leftButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, image.size.width + 40, image.size.height)];
[leftButton setImage:image forState:UIControlStateNormal];
[leftButton setTitle:@"返回" forState:UIControlStateNormal];
[leftButton addTarget:self action:@selector(onBack) forControlEvents:UIControlEventTouchUpInside];
UILongPressGestureRecognizer *recognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressGestureRecognizerHandle:)];
[recognizer setMinimumPressDuration:0.4f];
[leftButton addGestureRecognizer:recognizer];
UIBarButtonItem *leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:leftButton];
leftBarButtonItem.style = UIBarButtonItemStylePlain;
if(SystemVersion >= 7.0){
self.navigationController.interactivePopGestureRecognizer.delegate = (id<UIGestureRecognizerDelegate>)self;
UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
target:nil action:nil];
negativeSpacer.width = -10;
self.navigationItem.leftBarButtonItems = @[negativeSpacer, leftBarButtonItem];
}else{
self.navigationItem.leftBarButtonItem = leftBarButtonItem;
}
}
- (void)longPressGestureRecognizerHandle:(UILongPressGestureRecognizer *)longPressGestureRecognizer {
if (longPressGestureRecognizer.state != UIGestureRecognizerStateBegan)
return;
[self.navigationController popToRootViewControllerAnimated:YES];
}
-(void)onBack{
[self.navigationController popViewControllerAnimated:YES];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment