除了在下面的代码中使用 button.tag 之外,有没有办法将布尔值传递给 addClicked 方法?
[cellview.buttonAdd addTarget:self action:@selector(addClicked:) forControlEvents:UIControlEventTouchUpInside];
-(void) addClicked:(id)sender {
}
提前致谢。
除了在下面的代码中使用 button.tag 之外,有没有办法将布尔值传递给 addClicked 方法?
[cellview.buttonAdd addTarget:self action:@selector(addClicked:) forControlEvents:UIControlEventTouchUpInside];
-(void) addClicked:(id)sender {
}
提前致谢。
如果要添加整数属性,可以使用标签。如果要添加非整数属性,则必须使用具有关联引用的类别,继承的 UIButton 根本无法发布属性。你可以看到这个:
尝试这样的事情:
-(void) addClicked:(id)sender
{
UIButton * button = (UIButton*)sender;
NSLog(@"Button Tag: %i", button.tag);
}
不确定通过 Boolean是什么意思。
简短回答:您不能直接将额外信息传递给方法。
你为什么要这样做呢?除了被点击的事实之外,按钮“知道”它需要交流什么?
应该通过实现单击处理程序的类中的实例变量来完成此操作。
如果您确实必须在按钮本身内部维护状态,请将其子类化:
@interface CustomButton : UIButton
@property (nonatomic, assign) BOOL myBoolValue;
@end
/* ... */
- (void)addClicked:(id)sender
{
CustomButton *button = (CustomButton *)sender;
if (button.myBoolValue) {
// Whatever you want to do.
}
}