gpt4 book ai didi

objective-c - 多个按钮调用相同的函数(并且函数知道调用了哪个按钮)

转载 作者:行者123 更新时间:2023-11-28 22:43:01 26 4
gpt4 key购买 nike

我有这个按钮代码,它在两个按钮中是相似的(部分代码)

btn.frame=CGRectMake(600,400,30,30);]
btn.addTarget:self actionL@selector(authButtonAction)forControlEvents:UIControlEventTouchUpInside]

在函数中(伪代码)

-(void)authButtonAction {
if btn1 was clicked btn1.caption=y else btn1.caption=2
}

我的按钮起作用了,我的函数被调用了,但我试图做的是以某种方式找出点击了哪个按钮...将其传递给 authButtonAction。因为那样可以避免我编写 X 数量的函数,而且我可以在一个函数中使用 if 语句。

最佳答案

为您的按钮设置标签..

#define TAG_BUTTON_ONE 1
#define TAG_BUTTON_TWO 2

oneButton = [[UIButton alloc] ......];
oneButton.tag = TAG_BUTTON_ONE;
[oneButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
-----
-----

twoButton = [[UIButton alloc] ....];
twoButton.tag = TAG_BUTTON_TWO;
[twoButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
---
--

在按钮处理程序中,检查发件人的标签

-(void) buttonClicked:(UIButton*)sender{
if(sender.tag == TAG_BUTTON_ONE){
//handle button one click
}else if(sender.tag == TAG_BUTTON_TWO){
//handle button 2 click
}
}

关于objective-c - 多个按钮调用相同的函数(并且函数知道调用了哪个按钮),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13966177/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com