gpt4 book ai didi

ios - 通过滑动手指按下按钮(用于钢琴效果)

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

我正在创建一个类似钢琴的应用程序,其中每个按钮都会弹奏一个音符。我的 UIButtons 在 Touch Down 事件中播放声音。当我将手指从一个按钮滑动到另一个按钮时(想象一下用手指在钢琴键上滑动以捕获其间的所有音符)时出现问题,它仍然“按住”第一个按钮而不触摸另一个按钮,除非我抬起手指。

如何在不抬起手指的情况下捕获多个 Touch Down 事件?

最佳答案

您可以像这样向按钮添加其他目标:

myButton addTarget:self 
action:@selector(yourMethodHere:withEvent: )
forControlEvents:UIControlEventTouchDragInside];

这是您可以使用的事件类型的列表:

enum {
UIControlEventTouchDown = 1 << 0,
UIControlEventTouchDownRepeat = 1 << 1,
UIControlEventTouchDragInside = 1 << 2,
UIControlEventTouchDragOutside = 1 << 3,
UIControlEventTouchDragEnter = 1 << 4,
UIControlEventTouchDragExit = 1 << 5,
UIControlEventTouchUpInside = 1 << 6,
UIControlEventTouchUpOutside = 1 << 7,
UIControlEventTouchCancel = 1 << 8,

UIControlEventValueChanged = 1 << 12,

UIControlEventEditingDidBegin = 1 << 16,
UIControlEventEditingChanged = 1 << 17,
UIControlEventEditingDidEnd = 1 << 18,
UIControlEventEditingDidEndOnExit = 1 << 19,

UIControlEventAllTouchEvents = 0x00000FFF,
UIControlEventAllEditingEvents = 0x000F0000,
UIControlEventApplicationReserved = 0x0F000000,
UIControlEventSystemReserved = 0xF0000000,
UIControlEventAllEvents = 0xFFFFFFFF
};

那么你可以有这样一个函数:

-(void) yourMethodHere:(UIControl *) button withEvent:(UIEvent *)event {
//do whatever
}

关于ios - 通过滑动手指按下按钮(用于钢琴效果),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16995862/

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