iOS设置导航条内容

    //设置导航条的内容,由栈顶控制器的NavgationItem决定.
    //导航控制器必须要有根控制器.目的设置导航条的内容.

    //如果设置了导航条的标题, 那么下一个push的子控制器的返回按钮就是上一个控制器的标题.

    //UINavigationItem有以下属性影响着导航栏的内容

   // 左上角的返回按钮
    @property(nonatomic,retain) UIBarButtonItem *backBarButtonItem;

   // 中间的标题视图
    @property(nonatomic,retain) UIView *titleView;

   // 中间的标题文字
    @property(nonatomic,copy)   NSString  *title;

   // 左上角的视图
    @property(nonatomic,retain) UIBarButtonItem *leftBarButtonItem;

    //右上角的视图
    @property(nonatomic,retain) UIBarButtonItem *rightBarButtonItem;

    //设置导航条标题
    self.navigationItem.title = @"导航条标题"


    //导航条上面的子控件位置由系统决定,我们自己只能决定控件的尺寸
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 2000, 200, 35)];
    view.backgroundColor = [UIColor redColor];
    //导航条的标题可以是一个自定义的UIView.
    self.navigationItem.titleView = view;



    //设置导航条左边的内容为标题.
    //Title:设置的标题
   // style:样式,从ios7之后,这个地方设置什么都没有用了, 所以让它默认,它是一个枚举,直接可以写0.
   // target: action: 点击时调用哪个对象的哪个方法.
    UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:0 target:self action:@selector(back)];


    //设置左边的内容为图片
 //   initWithImage:要显示的图片.
   // style:样式,从ios7之后,这个地方设置什么都没有用了, 所以让它默认,它是一个枚举,直接可以写0.
    //target: action: 点击时调用哪个对象的哪个方法.
    UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStyleDone target:nil action:nil];


    //显示多张图片,不同状态,用按钮
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    //设置按钮正常状态下显示的图片
    [btn setImage:[UIImage imageNamed:@"navigationbar_friendsearch"] forState:UIControlStateNormal];
    //设置按钮高亮状态下显示的图片
    [btn setImage:[UIImage imageNamed:@"navigationbar_friendsearch_highlighted"] forState:UIControlStateHighlighted];

    //按钮自适应,根据当中的图片标题自动计算尺寸
    [btn sizeToFit];
    //让导航条左侧或者右侧显示一个UIView.
   // initWithCustomView:要显示的View.
    UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:btn];


    //可以设置左右的内容为多个Item.
    self.navigationItem.rightBarButtonItems = @[item,item1,item2];

你可能感兴趣的:(iOS设置导航条内容)