gpt4 book ai didi

ios - Objective C 比较 UIButton if(sender==button)

转载 作者:行者123 更新时间:2023-11-29 12:13:08 25 4
gpt4 key购买 nike

嘿,我正在尝试获取 UIControlEventTouchUpInside 监听器中的按钮。我过去常常使用标签来做到这一点,但现在我厌倦了这个,因为我可以在 Android 中简单地通过像 arg0==button 这样的事情来完成所有这些。

我这样设置选择器

[button addTarget:self action:@selector(actionUp:) forControlEvents:UIControlEventTouchUpInside];

然后在这个方法中

- (IBAction)actionUp:(id)sender
{

UIButton *b = (UIButton *)sender;

if(b==button){
NSLog(@"yeeeee");
}
}

没有任何反应,bbutton 这两个对象几乎相同,但指向内存中的另一个地址(比如用 2 个字符串与 == 进行比较)。

b 尽我所能正确按下按钮

[b setBackgroundImage:[UIImage imageNamed:@"image"] forState:UIControlStateNormal];

它指向右边的按钮。

那我该怎么办呢?

编辑:粘贴了错误的方法,为此感到抱歉(错误仍然存​​在,我只是为了帖子快速重命名它们)

编辑已解决:isEqual: 对我有用。奇怪的是,在重新启动后甚至 == 再次工作。我之前清理了项目,但这没有帮助,但重新启动我的 Mac 确实 0o 谢谢。

最佳答案

你可以使用

if ([sender isEqual:button]) {
NSLog(@"yeeeee");
UIButton *b = (UIButton *)sender;

[b setBackgroundImage:[UIImage imageNamed:@"image"] forState:UIControlStateNormal];
}

关于ios - Objective C 比较 UIButton if(sender==button),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32766647/

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