Iphone uibarbuttonim程序化

Iphone uibarbuttonim程序化,iphone,objective-c,ios,interface-builder,uibarbuttonitem,Iphone,Objective C,Ios,Interface Builder,Uibarbuttonitem,我试着用编程的方式定义一个UIBAButtonim。它像预期的那样出现在导航栏上。但它没有调用该操作,直到我转到IB并将一个bar button项拖到导航控制器对象中,并将其分配给didTapSearch操作 我认为可以只通过编程来定义UIBarbuttonims,而不需要任何额外的IB工作。或者,仅当导航控制器和/或视图控制器也是通过编程方式创建时,才有可能这样做 还是我没有在代码中再次设置委托 UIBarButtonItem *searchBtn = [[[UIBarButtonItem a

我试着用编程的方式定义一个UIBAButtonim。它像预期的那样出现在导航栏上。但它没有调用该操作,直到我转到IB并将一个bar button项拖到导航控制器对象中,并将其分配给didTapSearch操作

我认为可以只通过编程来定义UIBarbuttonims,而不需要任何额外的IB工作。或者,仅当导航控制器和/或视图控制器也是通过编程方式创建时,才有可能这样做

还是我没有在代码中再次设置委托

UIBarButtonItem *searchBtn = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSearch target:self action:@selector(didTapSearch:)] autorelease];
self.navigationItem.rightBarButtonItem = searchBtn;

您可以通过编程指定
操作:
方法,就像您对
UIBarButtonItem
所做的那样

在使用
目标指定的对象类中实现操作方法

-(void) didTapSearch:(id) sender
{
  UIBarButtonItem *searchBtn = (UIBarButtonItem*)sender;
}
试试这条路吧 在标题中,声明barButtonItem

proximityButton= [[UIBarButtonItem alloc] 
                  initWithTitle:@"Nearby Locations"                                            
                  style:UIBarButtonItemStyleBordered 
                  target:self 
                  action:@selector(addToProximity)];
self.navigationItem.leftBarButtonItem = proximityButton;
您可以取出操作的:(id)发送者部分

为其添加颜色

searchBtn.tintColor = [UIColor blackColor];

你不能调用didTapSearch功能吗?此链接也将帮助你