Ios 在长时间点击按钮上显示UIView

Ios 在长时间点击按钮上显示UIView,ios,iphone,uiview,swift,uibutton,Ios,Iphone,Uiview,Swift,Uibutton,也许有人已经问过这个问题,但我还没找到 我的屏幕上有一些按钮,当用户点击一个按钮(并按住它大约2秒钟)时,一个新的UIView将出现在用户点击的地方。与iOS键盘上的按钮类似,如果您点击(例如)“E”按钮,它将显示一个包含一些额外按钮的新视图 我没有找到任何解决方法,所以如果你知道如何解决这个问题,请帮助我 编辑: 我添加了LongPressGestureRecognitor,但是这个手势永远不会被触发 这是我的密码: var longPressGestureRecognizer = UILon

也许有人已经问过这个问题,但我还没找到

我的屏幕上有一些按钮,当用户点击一个按钮(并按住它大约2秒钟)时,一个新的UIView将出现在用户点击的地方。与iOS键盘上的按钮类似,如果您点击(例如)“E”按钮,它将显示一个包含一些额外按钮的新视图

我没有找到任何解决方法,所以如果你知道如何解决这个问题,请帮助我

编辑: 我添加了LongPressGestureRecognitor,但是这个手势永远不会被触发

这是我的密码:

var longPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: "buttonLongPressed:")
    longPressGestureRecognizer.minimumPressDuration = 1.5
    longPressGestureRecognizer.allowableMovement = 1

    for buttonTitle in buttonTitles{
        var button : UIButton!
        if(buttonTitle.length == 1) {
            button = createButtonWithTitle(buttonTitle)
        } else {
            button = createButtonWithImage(buttonTitle)
        }

        button.addGestureRecognizer(longPressGestureRecognizer)
    }


func buttonLongPressed(recognizer : UILongPressGestureRecognizer) -> (Void) {
    NSLog("tapped")
    if(recognizer.state == UIGestureRecognizerState.Failed) {
        NSLog("failed")
    }
    if(recognizer.state == UIGestureRecognizerState.Ended) {
        NSLog("ended")
    }
    if(recognizer.state == UIGestureRecognizerState.Began) {
        NSLog("began")
    }
}
UILongPressGestureRecognitzer*longpress=[[UILongPressGestureRecognitzer alloc]initWithTarget:self action:@selector(action:)];
longpress.minimumPressDuration=0.3;
[AddgestureRecognitor:longpress];
-(无效)操作:(ui长按手势识别器*)手势{
}

使用上面的代码片段,它可以帮助您在长按后启动操作,并且长按时间可以修改。

长按处理程序:“longPressedHandler:”看起来像什么?什么参数?我还想实现一个功能,当用户点击一个按钮并在fingere周围滑动时,它应该始终激活用户手指所在的按钮。因为通常情况下,如果你点击一个按钮,这个按钮会一直处于“活动”状态,直到你松开它。好的,谢谢!当用户用手指从一个按钮滑动到另一个按钮时,如何使用此事件?使用此属性allowableMovement检查一次。
    //set gesture recognizer for long press
    UILongPressGestureRecognizer *gestureRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressedHandler:)];
    [button addGestureRecognizer:gestureRecognizer];
    [gestureRecognizer release];
 UILongPressGestureRecognizer *longpress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(action:)];
                longpress.minimumPressDuration = 0.3;
 [<button> addGestureRecognizer:longpress];

- (void)action:(UILongPressGestureRecognizer *)gesture {

}