如果多个按钮调用IBOutlet,IBOutlet可以确定按下了哪个按钮吗?
编辑:
全部固定和接线。关键点:对象ID不是发件人标签! Tag是属性第一页上的独立值。
- (IBAction)buttonPressed:(id)sender
{
switch ( [sender tag] )
{
case 109:
NSLog(@"Button 1");
break;
case 108:
NSLog(@"Button 2");
break;
}
}
答案 0 :(得分:5)
如果多个按钮调用IBOutlet
也许是IBAction?
如果全部
- (IBAction) actionPerformed:(id)sender
所以,发件人是您的按钮
第二个是UIView的每个子类都有一个标签字段,所以你可以使用它
int tag = [sender tag];
你可以在IB中设置标签
答案 1 :(得分:2)
通常,您可以将按钮事件(Touch Down)连接到您希望在控制器中调用的IBAction方法。
方法原型如下:
-(IBAction) doStuff:(id)sender;
然后,如果需要,可以使用“sender”来验证执行调用的对象的身份。
IBOutlet将用于联系您代码中的UIButton,以设置其文本或属性。
答案 2 :(得分:0)
更好的是,为UI中的每个按钮定义一个IBAction方法。 然后,您可以使用IB单独将按钮连接到方法,并避免将const整数硬编码到代码中。