如何将导航栏与UIBarbuttonitem集成?

时间:2009-10-10 10:24:52

标签: iphone

这是我的代码....?如何将导航栏与UIBarbuttonitem集成?

UINavigationBar *nav= [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 60)];
nav.backgroundColor = [UIColor whitecolor];
//nav.tintColor = [UIColor darkGrayColor];
[self.view addSubview:nav];
[nav release];

3 个答案:

答案 0 :(得分:0)

尝试初始化您的项目,然后

nav.leftBarButtonItem = barButtonItem;

nav.rightBarButtonItem = barButtonItem;

导航栏上只能有两个项目

答案 1 :(得分:0)

请注意,UIBarButtonItem按钮是 UINavigationItem 的属性,而不是 UINavigationBar

例如,当使用UINavigationController时,它会自动提供自己的UINavigationBar。但是导航控制器管理的每个视图都可以定义一个UINavigationItem,它控制标题,左右按钮等。

答案 2 :(得分:0)

更新:iOS 5支持同一侧的多个按钮。来自 UINavigationItem 文档:

自定义视图

  titleView  property
  leftBarButtonItems  property
  leftBarButtonItem  property
  rightBarButtonItems  property
  rightBarButtonItem  property
– setLeftBarButtonItems:animated:
– setLeftBarButtonItem:animated:
– setRightBarButtonItems:animated:
– setRightBarButtonItem:animated:

所以,基本上,你会写这样的东西在左边添加两个按钮:

UIBarButtonItem *refreshBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(refreshPlans:)];
UIBarButtonItem *selectYearBtn = [[UIBarButtonItem alloc] initWithTitle:@"Select Year" style:UIBarButtonSystemItemAction target:self action:@selector(selectYear)];
self.navigationItem.leftBarButtonItems = [[NSArray alloc] initWithObjects: refreshBtn, selectYearBtn, nil];

不幸的是,我还没有在Storyboard中看到过这样做的方法。希望这会有所帮助。