2011-03-26 59 views
1

我希望我的一个按钮在不同的水龙头上行动不同。因为每次发生特定动作时都使用相同的按钮。相同的按钮应该执行多个任务

有没有办法做到这一点?

感谢,

+0

祝点击触摸屏上的是什么,我想你。 – 2011-03-26 22:51:03

+1

不同的水龙头意味着什么?单人,双人,三人龙头?或者更喜欢应用商店中的购买图标? – 2011-03-26 22:52:03

回答

1

如果你希望你的按钮行动不同,您将创建不同的方法做不同的动作。然后,无论何时您想要更改按钮行为,都应该设置按钮以处理所需的操作。

所以对于第一个动作:

[button addTarget:self action:@selector(method1:) forControlEvents:UIControlEventTouchUpInside]; 

- (void) method1 
{ 
//set button to handle method 2 
[button addTarget:self action:@selector(method2:) forControlEvents:UIControlEventTouchUpInside]; 
} 

- (void) method 2 
{ 

} 
2

添加其他UIGestureRecognizer;) 单一的水龙头是什么样的行动将被链接,但您可以添加其他类型的像双击,轻扫等手势

0

按钮只是在点击时调用视图控制器中的方法。从那里你可以做这样的事情:

if (internalState == FOO) { 
    [self doA]; 
} else { 
    [self doB]; 
} 
2

你可以使用button的标签属性;所以在你的IBAction方法中。

-(void)buttonClicked:(id)sender{ 
    UIButton *button = (UIButton *)sender; 
    if (button.tag == 1) { 
     // perform your required functionality 
     button.tag = 2; 
    } 
    else if (button.tag == 2) { 
     // perform your required functionality 
     button.tag = 3; 
    } 
    else if (button.tag == 3) { 
     // perform your required functionality 
     button.tag = 1; 
    } 
} 

而且不要忘了最初的标签值设置为1

相关问题