将2个参数传递给UIButton的动作函数

时间:2013-08-15 08:13:01

标签: objective-c xcode uibutton selector

我有UIButton

-(void)backBtn:(NSString *)parentId lbltext:(NSString *)label
按下按钮时会触发

功能,

[button addTarget:self 
           action:@selector(backBtn:lbltext:) 
       withObject:par 
       withObject:title.text 
 forControlEvents:UIControlEventTouchDown]; 

我看了this问题。但我的被激活的函数将改变我的按钮名称,取决于某些函数与参数。所以我不能创建另一个类。

如何才能使此代码成为现实?谢谢。

1 个答案:

答案 0 :(得分:3)

我会使用委托代替。在您自己的类中触发事件,然后使用委托发送它。此外,UIControlEventTouchUpInside更好,即使用户后悔其动作(通过在按钮外移动手指),也会触发UIControlEventTouchDown

- (void) touchEvent:(id)sender {
    if ([self.delegate respondToSelector@selector(par:text)]) {
        [self.delegate par:something text:@"MyText"];
    }
}