自定义NavgationBar返回按钮

iOS  上UINavigationController视图压栈形式,可以在当前视图无限制push许多视图,然而一些会觉得自带的push按钮不够美观,而且当上的上一个页面title很长的时候,那个返回按钮就很长,怎样定义一个自己返回按钮呢?像第三幅图片一样。。。


  



需要push的视图里面定义一个事件

[cpp] view plaincopy

  1. - (IBAction)pushVC:(id)sender {  

  2.     NavViewController *navVC = (NavViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"NavViewController"];  

  3.     navVC.title = NSLocalizedString(@"设置", nil);  

  4.     [self.navigationController pushViewController:navVC animated:YES];  

  5. }  



替换返回按钮,定义自定义按钮

[cpp] view plaincopy

  1. - (void)viewDidLoad  

  2. {  

  3.     [super viewDidLoad];  

  4.       

  5.     UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];  

  6.     backBtn.frame = CGRectMake(0, 0, 44, 44);  

  7.       

  8.     [backBtn setImage:[UIImage imageNamed:@"back.png"] forState:UIControlStateNormal];  

  9.     [backBtn addTarget:self action:@selector(doBack:) forControlEvents:UIControlEventTouchUpInside];  

  10.       

  11.     UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithCustomView:backBtn];  

  12.     self.navigationItem.leftBarButtonItem = backItem;  

  13.        

  14.     // Do any additional setup after loading the view.  

  15. }  

  16.   

  17. -(void)doBack:(id)sender  

  18. {  

  19.     [self.navigationController popViewControllerAnimated:YES];  

  20. }  


源码下载地址:https://github.com/XFZLDXF/XFNavBarBtn



原创博客欢迎转载分享,请注明出处http://blog.csdn.net/duxinfeng2010


你可能感兴趣的:(自定义NavgationBar返回按钮)