导航栏上的图标,如果不能被点击,则设置方法:
UIBarButtonItem *logo = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"ddfh"] style:UIBarButtonItemStyleDone target:nil action:nil];
self.navigationItem.leftBarButtonItem = logo;
如果能被点击则:
UIBarButtonItem *logo = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"ddfh"] style:UIBarButtonItemStyleDone target:self action:@selector(buttonClicked:)];
self.navigationItem.leftBarButtonItem = logo;
- (void)buttonClicked:(UIBarButtonItem *)buttonItem {
ZKConfigViewController *configCon = [[ZKConfigViewController alloc]init];
[self.navigationController pushViewController:configCon animated:YES];
}
如果导航栏上的某部分是图片和按钮,Label等的组合在一起的,则可以先将图片和按钮、Label等封装在一个view里面,然后再用方法:
LZView *view = [[LZView alloc]initWithFrame:CGRectMake(0, 0, 40, 20)];
UIBarButtonItem *rightItem = [[UIBarButtonItem alloc]initWithCustomView:view];
self.navigationItem.rightBarButtonItem = rightItem;
导航栏的返回按钮去掉文字或者设置返回按钮显示自己想要的文字
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"" style:UIBarButtonItemStylePlain target:self action:nil];
登陆界面没有导航栏,登陆成功后进入主界面后开始有导航栏:
点击登陆按钮,成功登陆时触发的方法:
HomeViewController *home = [[HomeViewController alloc]init];//主界面
NaviViewController *navi = [[NaviViewController alloc]initWithRootViewController:home];//创建导航栏并将主界面作为其根视图控制器
[self presentViewController:navi animated:YES completion:nil];