UIButton在用户触摸时将手指拖过屏幕 - Objective-C,IOS

时间:2016-01-09 00:50:28

标签: objective-c uibutton piano

所以我有一个由UIButtons组成的键盘,每个按钮包含一个单独的声音。 当用户点击按钮时声音会播放,但我想知道如何在用户幻灯片将屏幕上的触摸拖动到钢琴滑板上而不将其手指从屏幕上移开时如何播放。

1 个答案:

答案 0 :(得分:1)

您需要添加PanGestureRecognizer。假设您将所有按钮安排在TableView中。然后,您需要从UIPanGestureRecognizer识别触摸的Cell。

将UIPanGestureRecognizer添加到Storyboard中的UITableView,或者在ViewDidLoad()中编写以下代码

    UIPanGestureRecognizer *pRecognizer = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(panning:)];
    [self.tableView addGestureRecognizer:pRecognizer];

然后在平移方法

    -(void)panning:(UIPanGestureRecognizer *)recognizer
    {
       CGPoint panLocation = [recognizer locationInView:self.tableView];
       NSIndexPath indexPath = [self.tableView indexPathForRowAtPoint:panLocation];

       //Get the cell from the table view
       UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
       **call TouchupInside event of your Key here**
    } 

因此,现在您可以在用户平移键上时为所有键播放声音。