Iphone 如何将UINavigation bar与uibarbuttonite整合?

Iphone 如何将UINavigation bar与uibarbuttonite整合?,iphone,Iphone,这是我的代码….?如何将UINavigation bar与UIBarbuttonitem集成 UINavigationBar *nav= [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 60)]; nav.backgroundColor = [UIColor whitecolor]; //nav.tintColor = [UIColor darkGrayColor]; [self.view addSubview:nav];

这是我的代码….?如何将UINavigation bar与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];

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

nav.leftBarButtonItem = barButtonItem;


导航栏上只能有两个项目请注意,UIBarButtonim按钮是UINavigationItem的属性,而不是UINavigationBar


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

更新: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];
不幸的是,我还没有在故事板中看到这样做的方法。希望这有帮助

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];