【问题标题】:Passing 2 parameters into UIButton's action function将 2 个参数传递给 UIButton 的动作函数
【发布时间】:2013-08-15 08:13:01
【问题描述】:

我有一个UIButton

-(void)backBtn:(NSString *)parentId lbltext:(NSString *)label

按下按钮时会触发函数,

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

我看了this 的问题。但是我的触发函数会改变我的按钮名称,这取决于一些带有参数的函数。所以我不能创建另一个类。

我怎样才能使这段代码为真?谢谢。

【问题讨论】:

    标签: objective-c xcode uibutton selector


    【解决方案1】:

    我会为此使用委托。在您自己的类中触发事件,然后使用委托发送它。另外,UIControlEventTouchUpInside 更好,UIControlEventTouchDown 即使用户后悔自己的行为也会被触发(通过将手指移到按钮外)。

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

    【讨论】:

    • 感谢您的回复。我用代码创建了 UIButton。所以我要把 touchEvent 放到 action:@selector 中吗?
    猜你喜欢
    • 2020-01-23
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 2021-04-13
    • 1970-01-01
    • 1970-01-01
    • 2017-08-07
    相关资源
    最近更新 更多