我试图以编程方式定义一个UIBarButtonItem。不出所料,它出现在了navBar中。但它并没有调用动作,直到我转到IB,将一个条形按钮项拖到导航控制器对象中,并为它分配了didTapSearch动作。
我认为只通过编程定义UIBarButtonItems是可能的,而不需要任何额外的IB工作。还是只有在导航控制器和/或视图控制器也是以编程方式创建的情况下才有可能?
或者我又错过了在我的代码中设置一个委托?
UIBarButtonItem *searchBtn = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSearch target:self action:@selector(didTapSearch:)] autorelease];
self.navigationItem.rightBarButtonItem = searchBtn;发布于 2011-06-24 00:53:32
改为在标头中尝试这种方式,声明barButtonItem
proximityButton= [[UIBarButtonItem alloc]
initWithTitle:@"Nearby Locations"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(addToProximity)];
self.navigationItem.leftBarButtonItem = proximityButton;您可以删除操作的:(Id)发送者部分
发布于 2011-06-24 00:52:52
您可以像对UIBarButtonItem所做的那样,以编程方式指定action:方法。
在您用target:指定的object类中实现操作方法。
-(void) didTapSearch:(id) sender
{
UIBarButtonItem *searchBtn = (UIBarButtonItem*)sender;
}发布于 2013-11-27 19:26:22
给它添加一种颜色。
searchBtn.tintColor = [UIColor blackColor];https://stackoverflow.com/questions/6457374
复制相似问题