gpt4 book ai didi

ios - 检测所有按钮的单一控制事件

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

我知道我可以通过添加这样的选择器来检测我的按钮是否被按下

[button addTarget:self action:@selector(buttonDown:) forControlEvents:UIControlEventTouchDown];

但是在单个 View 中有 50 多个按钮时,我正在尝试查看是否有一种方法可以将选择器添加到我 View 中的所有按钮,并查看是否有一个按钮被按住以及它是哪个按钮。

我想知道,因为我需要在 50 多个按钮上检测 UIControlEventTouchDown 和 UIControlEventTouchUpInside,所以很多代码 ID 都想缩短。

最佳答案

用数组。

for (UIButton *button in self.arrayOfButtons) {
[button addTarget:self
action:@selector(buttonDown:)
forControlEvents:UIControlEventTouchDown];

[button addTarget:self
action:@selector(buttonUp:) // it's cold outside
forControlEvents:UIControlEventTouchUpInside];
}

您的 buttonDown:buttonUp: 方法应如下所示:

- (void)buttonDown:(id)sender

- (void)buttonDown:(UIButton *)button

无论哪种方式,senderbutton 都将是对调用该方法的对象的引用。

如果您有 btnFoobtnBar 并且您为它们都提供了 buttonDown: 作为触摸按下事件,则 senderbutton 将告诉您按下哪个按钮进入该方法。

要更全面地了解发生了什么,请给所有按钮一个标签,并在方法中添加这行代码:

NSLog(@"Button.tag = %d", button.tag);

关于ios - 检测所有按钮的单一控制事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23401576/

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