2.3 backBarButtonItem和leftBarButtonItem的区别 backBarButtonItem和另外两兄弟是有区别的,比如当前有AController准备push到BController 优先级高,当存在leftBarButtonItem时,自动忽略backBarButtonItem,达到重写backBarButtonItem的目的。 AController.navigationItem.backBarButtonItem = .... backBarButtonItem的自定义不会影响系统的侧滑返回手势,而leftBarButtonItem (同leftBarButtonItem | rightBarButtonItem) self.navigationItem.backBarButtonItem self.navigationController.navigationItem.backBarButtonItem self.navigationItem.backBarButtonItem,经过试验发现,这个backBarButtonItem为BController的self.navigationController.navigationBar.backItem.backBarButtonItem
一个箭头后面带有文字的返回是使用的ios 自带的backBarButtonItem ,显示的字体文字是push之前的山层页面的 title ,如果希望文字是自定义的,需要在push 之前 self.navigationItem.backBarButtonItem 将状态栏隐藏就可实现这样不错的页面效果 PS: backBarButtonItem的自定义事件是不会被执行的 backItem = [[UIBarButtonItem alloc] initWithTitle :@"返回" style:UIBarButtonItemStylePlain target:self action:@selector(back)]; self.navigationItem.backBarButtonItem 要自定义返回按钮,直接设置backBarButtonItem是不行的 UINavigationController view层级 ? navigationItem包含了bar视图的全部元素(如title,tileview,backBarButtonItem等),受当前viewcontroller管理,即bar形成整个nv的导航视图,然后每个
whiteColor]; [back setTitleTextAttributes:textAttrs forState:UIControlStateNormal]; */ item.backBarButtonItem ] initWithTitle:nil style:UIBarButtonItemStylePlain target:nil action:nil]; self.navigationItem.backBarButtonItem , @selector(ac_viewDidAppear)); } //设置导航栏返回按钮文字 - (void)ac_viewDidAppear{ self.navigationItem.backBarButtonItem
), style: UIBarButtonItemStyle.plain, target: self, action: #selector(leftBarButtonClick)); let backBarButtonItem nil && self.webview.canGoBack){ self.navigationItem.leftBarButtonItems = [closeBarButtonItem,backBarButtonItem
UINavigationItem * item2 = [[UINavigationItem alloc]initWithTitle:@"title2"]; item.backBarButtonItem 这里有一点需要注意,虽然backBarButtonItem的标题我们可以自定义,但是方法和其他属性我们都不能定制,是系统实现好的。
2.重写导航控制器的Push方法,在push之前,设置navigationItem.backBarButtonItem。 initWithTitle:@"返回" style:UIBarButtonItemStyleDone target:nil action:nil]; viewController.navigationItem.backBarButtonItem initWithTitle:nil style:UIBarButtonItemStyleDone target:nil action:nil]; viewController.navigationItem.backBarButtonItem
navigationItem属性决定 UINavigationItem有以下属性影响着导航栏的内容 //左上角的返回按钮 @property(nonatomic,retain) UIBarButtonItem *backBarButtonItem
= [ezMainStoryboard instantiateViewControllerWithIdentifier:@"EZCameraList"]; self.navigationItem.backBarButtonItem
属性决定 UINavigationItem有以下属性影响着导航栏的内容 //左上角的返回按钮 @property(nonatomic,retain) UIBarButtonItem *backBarButtonItem
UIBarButtonItem * back=[[UIBarButtonItem alloc]init]; back.title = @"返回"; self.navigationItem.backBarButtonItem
UIBarButtonItem * back=[[UIBarButtonItem alloc]init]; back.title = @"返回"; self.navigationItem.backBarButtonItem
BOOL)animated; 3)UINavigationItem的属性: //左上角的返回按钮 @property(nonatomic, retain) UIBarButtonItem *backBarButtonItem
包括左栏按钮(leftBarButtonItem)、右栏按钮(rightBarButtonItem)和栏标题(title)、用于显示标题的视图(titleView),以及用于从当前视图向后导航的Back按钮(backBarButtonItem