2010-08-05 20 views
2

我有一个带有工具栏的xib,并且我有2个按钮都是在IB中制作的。 我可以将我的插座连接到按钮,但是当我点击它们时,该方法不会被触发? 这是为什么?如何用UIButtonBarItem触发方法?

在我的头文件我有这样的:

@property (nonatomic, retain) IBOutlet UIBarButtonItem *cancelEntry; 
@property (nonatomic, retain) IBOutlet UIBarButtonItem *saveEntry; 

-(IBAction) cancelEntry:(id) sender; 
-(IBAction) saveEntry:(id) sender; 

在我得到这个我.m文件:

-(IBAction) cancelEntry:(id) sender { 
NSLog(@"cancel"); 
} 

-(IBAction) saveEntry:(id) sender { 
NSLog(@"save"); 
} 

所有编译,因为它应该,但点击按钮时,在日志中什么都没有。 我该怎么做才能使它工作?

回答

4

听起来像你连接你的插座到按钮,但没有将按钮连接到操作。

  1. 右键单击取消Interface Builder中的UIBarButtonItem
  2. 将鼠标悬停在选择器上,然后将出现的+拖动到文件所有者上。
  3. 将它连接到cancelEntry :.
  4. 重复保存。

而不是使用(id)为您的IBActions,你应该使用(UIBarButtonItem *)。这会阻止您将不同的对象类型连接到这些IBActions。

+0

谢谢你tweha!即使我自己解决了它,你的答案是正确的,我没有做的。 – 2010-08-07 07:41:35