我希望我的一个按钮在不同的水龙头上表现不同。因为它是我每次特定动作发生时使用的相同按钮。
有办法做到这一点吗?
谢谢,
答案 0 :(得分:2)
添加额外的UIGestureRecognizer;) 单击是可以链接的动作,但您可以添加其他类型的手势,如双击,滑动等。
答案 1 :(得分:2)
您可以使用按钮的tag属性;所以在你的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。
答案 2 :(得分: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
{
}
答案 3 :(得分:0)
该按钮在点击时只调用视图控制器中的方法。从那里你做这样的事情:
if (internalState == FOO) {
[self doA];
} else {
[self doB];
}